首页
壁纸
友情
关于
统计
推荐
Search
1
通过华为交换机的辅助,增加“ikuai爱快软路由”wan的线路
1,738 阅读
2
华为S5700交换机升级记录
1,472 阅读
3
蓝桥杯省赛训练题1
1,199 阅读
4
酷我音乐豪华VIP版 | 电脑版
1,099 阅读
5
小米AC2100(红米ac2100)刷写Breed不死固件
1,097 阅读
食用技巧
食用软件
通信技术
交换机
软路由
网络技术
编程技术
Python学习
C学习
WEB学习
C++学习
Python基础
Python爬虫知识
蓝桥杯省赛训练题
前端学习
后端学习
PHP学习
Linux
华为Datacom
IPv4技术
登录
Search
标签搜索
linux
Python
酷我音乐
Docker
第一篇文章
交换机技术
Joe
华为交换机
PHP
开机自启
爬虫
正则
Ubuntu
搭建教程
csv
数据分析
IP
加密
WAF的拦截
html
Jayson
累计撰写
33
篇文章
累计收到
2
条评论
首页
栏目
食用技巧
食用软件
通信技术
交换机
软路由
网络技术
编程技术
Python学习
C学习
WEB学习
C++学习
Python基础
Python爬虫知识
蓝桥杯省赛训练题
前端学习
后端学习
PHP学习
Linux
华为Datacom
IPv4技术
页面
壁纸
友情
关于
统计
推荐
搜索到
33
篇与
的结果
2022-10-09
python用MD5加密方法
简介这篇文章主要介绍了python MD5加密的示例,帮助大家更好的利用python进行加密,感兴趣的朋友可以了解下什么是MD5Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)。MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。生成MD5方法# 方式一: pwd = '123456' # 生成MD5对象 md5 = hashlib.md5() # 对数据加密 md5.update(pwd.encode('utf-8')) # 获取密文 pwd = md5.hexdigest() print(pwd) #方式二: pwd = '123456' pwd = hashlib.md5(bytes(pwd,encoding = 'utf-8')) print(pwd.hexdigest()) # 输出结果 e10adc3949ba59abbe56e057f20f883e e10adc3949ba59abbe56e057f20f883eMD5加盐值(SALT)MD5加盐值(SALT)安全性相对高一些,不容易被破解# MD5加盐值(SALT) pwd = '123456' # 生成MD5对象 md5 = hashlib.md5(b'~!@@#!#$DFDT@#$@#') # 一下两种方式与上面效果等同 # md5 = hashlib.md5('~!@@#!#$DFDT@#$@#'.encode('utf-8')) # md5 = hashlib.md5(bytes('~!@@#!#$DFDT@#$@#',encoding='utf-8')) # # 对数据加密 md5.update(pwd.encode('utf-8')) # 获取密文 pwd = md5.hexdigest() print(pwd)63e87e46fc935f18abb6b38bb0376fee
2022年10月09日
270 阅读
0 评论
0 点赞
linux设置开机自启动
2022年09月16日
422 阅读
0 评论
0 点赞
2022-09-16
简介linux设置开机自启动的方法我简单说两种,一种是在rc.local添加,另一种是init.d文件里添加。这样就不用老是重启服务器的时候再重新运行程序,导致网站的某些功能用不了了!!linux设置开机自启动的方法:1. rc.local文件中添加自启动命令1. 执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令 2. 运行程序脚本:然后在文件最后一行添加要执行程序的全路径。 3. 例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh " '注意,你的命令应该添加在:exit 0 之前'2. 在/etc/init.d目录下添加自启动脚本linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。
2022-08-09
快速上手Git
Git 快速上手指南:从入门到日常使用Git 作为目前最流行的分布式版本控制系统,是程序员必备的工具之一。本文将带你快速掌握 Git 的核心操作,帮助你在 1 小时内上手并应用到实际开发中。一、环境准备:安装与初始化1. 安装 GitWindows:下载Git for Windows,默认安装即可(建议勾选 "Add Git Bash Here" 方便右键调用)。Mac:通过 Homebrew 安装 brew install git,或直接下载官方安装包。Linux:Ubuntu/Debian 系统使用 sudo apt-get install git,CentOS/RHEL 系统使用 sudo yum install git。2. 验证安装打开终端(Windows 用 Git Bash),输入以下命令,显示版本号即安装成功:git --version \# 示例输出:git version 2.45.13. 配置用户信息首次使用前需配置用户名和邮箱(与 JZQYUN/GitLab 账号一致),用于标识提交记录的作者:git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址" \# 查看配置结果 git config --list二、核心操作:本地仓库管理1. 创建本地仓库方式 1:新建仓库在项目文件夹中初始化 Git 仓库:\# 1. 进入项目文件夹 cd /path/to/your/project \# 2. 初始化仓库(生成.git隐藏文件夹,存储版本信息) git init方式 2:克隆远程仓库从 JZQYUN/GitLab 等平台克隆已有项目到本地:git clone https://jzqyun.cn/用户名/仓库名.git \# 示例:git clone https://jzqyun.cn/octocat/Hello-World.git2. 版本控制核心流程Git 的核心是 "工作区→暂存区→本地仓库" 的流转,记住以下 3 个高频命令:命令作用场景git add将工作区文件添加到暂存区修改 / 新增文件后git commit -m "备注"将暂存区内容提交到本地仓库完成功能 / 修复 bug 后git status查看仓库状态(文件是否未跟踪 / 未提交)不确定文件状态时示例流程:\# 1. 创建测试文件 echo "Hello Git" > test.txt \# 2. 查看状态(显示test.txt为未跟踪文件) git status \# 3. 添加到暂存区 git add test.txt \# 4. 提交到本地仓库(备注需清晰,方便后续查历史) git commit -m "feat: 添加test.txt测试文件"3. 查看历史与回滚查看提交历史\# 简洁显示历史(一行一条记录) git log --oneline \# 示例输出: \# a1b2c3d (HEAD -> main) feat: 添加test.txt测试文件 \# d4e5f6g init: 初始化仓库回滚到指定版本当需要撤销错误提交时,使用 git reset(谨慎操作,避免丢失重要代码):\# 回滚到指定版本(版本号取git log --oneline显示的前几位即可) git reset --hard a1b2c3d三、团队协作:远程仓库操作日常开发中,通常需要与 JZQYUN/GitLab 等远程仓库交互,核心命令如下:1. 关联远程仓库若为本地新建仓库,需先关联远程仓库:git remote add origin https://jzqyun.cn/用户名/仓库名.git2. 拉取远程代码从远程仓库拉取最新代码到本地(避免冲突):\# 拉取main分支代码(main是默认主分支,部分项目用master) git pull origin main3. 推送本地代码到远程将本地仓库的提交推送到远程仓库:\# 首次推送需加-u参数,绑定本地与远程分支 git push -u origin main \# 后续推送可简化为 git push4. 常见问题:推送失败问题 1:提示 "fatal: could not read Username for 'https://jzqyun.cn'"解决:在 JZQYUN 平台添加本地 SSH 密钥,或用 HTTPS 协议输入账号密码(推荐 SSH 方式,免重复输密码)。问题 2:提示 "error: failed to push some refs"解决:本地代码非最新,先执行 git pull origin main 拉取远程代码,解决冲突后再推送。四、进阶技巧:提升效率1. 分支管理(必备)分支用于隔离不同功能开发,避免代码混乱。常用命令:\# 1. 新建并切换到功能分支(如开发登录功能) git checkout -b feature/login \# 2. 查看所有分支(当前分支前有\*标记) git branch \# 3. 切换回main分支 git checkout main \# 4. 合并分支(将feature/login合并到main) git merge feature/login \# 5. 删除已合并分支(功能上线后清理) git branch -d feature/login2. 忽略文件(.gitignore)创建 .gitignore 文件,指定不需要 Git 跟踪的文件(如日志、依赖包、IDE 配置):\# 编辑.gitignore文件 vim .gitignore \# 添加以下内容(根据项目类型调整) node\_modules/ # Node.js依赖包 logs/ # 日志文件 .idea/ # IntelliJ IDEA配置 \*.log # 所有.log后缀文件3. 快捷别名为常用命令设置别名,提升输入效率(如用 git st 代替 git status):git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit五、常用命令速查表类别命令说明初始化git init本地新建仓库 git clone 地址克隆远程仓库(地址格式:https://jzqyun.cn/用户名 / 仓库名.git)暂存与提交git add 文件名添加单个文件到暂存区 git add .添加所有修改到暂存区 git commit -m "备注"提交暂存区到本地仓库远程操作git remote add origin 地址关联远程仓库(地址格式:https://jzqyun.cn/用户名 / 仓库名.git) git pull origin 分支拉取远程代码 git push origin 分支推送本地代码到远程分支管理git checkout -b 分支名新建并切换分支 git merge 分支名合并指定分支到当前分支历史与回滚git log --oneline查看简洁提交历史 git reset --hard 版本号回滚到指定版本
2022年08月09日
82 阅读
1 评论
0 点赞
Python生成随机头部------JaysonBlog
{mtitle title="Python生成随机"/}Python生成随机头部{lamp/}前言如果网站对请求头部有限制,短时间内频繁访问会被锁定,可以使用随机请求头部伪装不同浏览器使用 python 第三方模块 fake_useragent 随机生成请求头部 UserAgent安装用python的好基友pip工具进行安装第三方模块fake_useragent pip install fake_useragent --index-url https://pypi.douban.com/simple使用实例可以指定浏览器名称,模拟对应浏览器请求头部UserAgent from fake_useragent import UserAgent # 指定浏览器名称 ua = UserAgent() # 显示ie头部 print(ua.ie) # 显示火狐的头部 print(ua.firefox) # 显示谷歌头部 print(ua.chrome)运行结果:# ie头部 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; chromeframe/13.0.782.215) # 火狐头部 Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:25.0) Gecko/20100101 Firefox/25.0 # 谷歌头部 Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36随机生成请求头部调用random方法随机生成请求头部 ```pythonfrom fake_useragent import UserAgentua = UserAgent() # 通过random 生成随机的头部 headers = {"User-Agent": ua.random} print(headers)运行结果:{'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36'}
2022年07月27日
336 阅读
0 评论
0 点赞
2022-07-24
Linux_screen使用
screen 是一个非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,你可以随时重新连接到 screen 会话。如果你想运行一个持久的进程或者从多个位置连接到 shell 会话,这也很方便。在本文中,我们将展示在 Linux 上安装和使用 screen 的基本知识。{mtitle title="如何安装screen?"/}screen 在一些流行的发行版上已经预安装了。你可以使用下面的命令检查是否已经在你的服务器上安装了。screen -v Screen version 4.00.03 (FAU)如果在 Linux 中还没有 screen,你可以使用系统提供的包管理器很简单地安装它。CentOS/RedHat/Fedorayum -y install screenUbuntu/Debianapt-get -y install screen{mtitle title="screen 基本使用"/}语法# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]常用参数screen -S yourname //新建一个名字为yourname的一个session(会话) screen -ls //列出所有的session(会话) screen -r yourname //回到yourname这个session(会话) screen -d yourname //将指定的session(会话)离线 screen -d -r yourname 结束当前的session(会话)回到yourname这个session(会话) 参数说明-A 将所有的视窗都调整为目前终端机的大小。 -d<作业名称> 将指定的screen作业离线。 -h<行数> 指定视窗的缓冲区行数。 -m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。 -r<作业名称> 恢复离线的screen作业。 -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。 -s<shell> 指定建立新视窗时,所要执行的shell。 -S<作业名称> 指定screen作业的名称。 -v 显示版本信息。 -x 恢复之前离线的screen作业。 -ls或--list 显示目前所有的screen作业。 -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。如何kill一个screen?两种方法:使用screen名字,杀掉。screen -S yourname -X quit激活screen,然后再杀掉screen -r yourname quitscreen的快捷键Ctrl + a+d #暂离当前会话 Ctrl + a+c #在当前screen会话中创建一个子会话 Ctrl + a+w #子会话列表 Ctrl + a+p #上一个子会话 Ctrl + a+n #下一个子会话 Ctrl + a+0-9 #在第0窗口至第9子会话间切换
2022年07月24日
328 阅读
0 评论
0 点赞
2022-03-16
IPv4子网划分技术 --- JaysonBlog
前言IPv4的子网划分,我相信有很多人都是半懂不懂的鸭子。在这里我将会以简单明了的话语进行讲解IPv4的子网划分,希望大家能认真看完!!!教程开始VLSM:通过向主机位借位,从而划分子网CIDR : 通过汇总路由来减少路由条目(主机位向网络位借位{dotted startColor="#ff6c6c" endColor="#1989fa"/}2 的 N 次方 - 2 >= 所需主机地址(用于计算部门所需地址) N = 主机位(补充:32 = 网络位 + 主机位) 例如:一个 192.168.1.0/24 的 C 类地址,需要给一个部门划分子网,部门需要 50 个地址 2 的 6 次方 - 2 >= 50 即主机位=6,网络位向主机借 2 位 得出 192.168.1.0/26 地址范围 0—63 2 的 6 次方 = 64 个地址 ———————————————————————————————————————— 2 的 M 次方 >= 所需子网数量 例如: 一个 192.168.1.0/24 的 C 类地址,需要划分 5 个子网 2的3次方>=5 所以能够划分 8 个子网, M 等于所需要借的主机位 即等于 192.168.1.0/27 (24 + M) 可以划分 8 个子网,每个子网 32 个地址 {dotted startColor="#ff6c6c" endColor="#1989fa"/} 如: 10.1.1.1/32 10.1.1.2/32 可以汇总成 10.1.1.0/30 因为 10.1.1.1 = 0000 1010 . 0000 0001 . 0000 0001 . 0000 0001 10.1.1.2 = 0000 1010 . 0000 0001 . 0000 0001 . 0000 0010 排除不同部分 = 0000 1010 . 0000 0001 . 0000 0001 . 0000 00XX 得出 10.1.1.0/30 其中最后2位不固定 {dotted startColor="#ff6c6c" endColor="#1989fa"/}
2022年03月16日
417 阅读
0 评论
0 点赞
ghost 盘对盘进行系统迁移遇到的问题!
总结一下我用ghost 盘对盘迁移系统的遇到的困难和解决方案!开始当我把系统迁移到新的硬盘后,发现电脑启动不了,开机直接黑屏然后就跳到bios页面后直接卡死了。。。心情慌得一批,打算有要重装系统了准备了!!!当我了解到GPT的系统格式后,我感觉我知道是哪里的问题。{callout color="#f0ad4e"}GPT格式可以说是MBR的升级版,由于现在的系统动不动就3-4T左右,而MBR最多支持2T的引导,慢慢的MBR就会被淘汰掉。最新的GPT呢,他解决了MBR的这个疼点能无限制的引导,所以GPT变成现在的主流引导格式了。MBR和GPT不同之处咧,GPT有一个叫做uefi的引导分区,而MBR只有一个引导分区不需要进行重新引导的操作,所以用MBR格式迁移系统到其他盘后不许要进行重新引导可以直接使用,而GPT格式呢,就不一样了他有一个UEFI的引导盘,里面包含了系统盘的相关信息,迁移系统的话就会导致系统无法打开直接黑屏!!!{/callout}解决方案:{card-default label="解决方案" width=""}要解决GPT的系统黑屏呢,我们需要重构GPT里面的UEFI引导盘。首先我们要将GPT里的UEFI的引导盘给清除掉分区,然后通过相应的软件进行UEFI重构。软件的话,现在大多主流的PE系统都会有这种软件。所以不需要自己去找,直接用PE系统里面引导修复工具进行修复就好了!修复完后,我们就可以看系统盘里面的就会出现新的UEFI的引导盘。重启一下电脑就可以进入系统了! {/card-default}
2022年03月08日
540 阅读
0 评论
1 点赞
2022-03-03
Python调用Js脚本进行加密处理 ------JaysonBlog
前言python爬虫的时候,可能需要通过加密数据来进行发包,这里我将会分享一个好用的模块来进行调用JS脚本进行数据的加密处理{lamp/}execjs模块调用js脚本函数这里我会调用一个叫做‘execjs’模块。安装方法:pip install execjs安装完后,我举个例子,讲解一下:import execjs # 导入execjs模块 with open('Js.js') as f: # 设置文件对象给f js_data = f.read() # 读取Js.js 到js_data这个对象 dic_key = key # 定义需要加密的对象 # print(dic_key) keys_JS = execjs.compile(js_data).call('test', password, dic_key) # 将加密的参数传到keys_JS # compile 填写自己需要调用的Js脚本 # call 参数填写自己的调用的函数 (第一个:函数名称,第二个:参数,第三个:参数) print(keys_JS) # 显示数据 就是怎么简单 {lamp/}js2py模块调用js脚本函数这里我会调用一个叫做‘js2py’模块。安装方法:pip install js2py安装完后,我举个例子,讲解一下:import js2py # 导入execjs模块 with open('Js.js',encoding='utf-8') as f: # 设置文件对象给f js_data = f.read() # 读取Js.js 到js_data这个对象 context = js2py.EvalJs() # 定义对象 context.execute(js_data) # 解读js脚本 result = context.aes(text, key) # 调用js里面的函数,返回结果 # 对象 调用函数 参数1,参数2js代码翻译解读js脚本,将js脚本翻译成python文件# 翻译js文件为py文件 print(js2py.translate_js("console.log('hello world')")) # 脚本内容 js2py.translate_file('test.js', 'test.py') #转换
2022年03月03日
373 阅读
0 评论
0 点赞
Debian下无界面使用Selenium+chromedriver进行自动化测试 —JaysonBlog
前言在Linux无界面状态下使用Selenium进行数据抓取,把脚本放到自己的服务器上进行抓取。让他自己运行着,嘻嘻嘻!!!教程chromedriver下载地址:http://npm.taobao.org/mirrors/chromedriver/1,安装selenium 你可以使用 pip 命令来安装 Selenium:pip install selenium2,安装chromewget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt-get -f install dpkg -i google-chrome-stable_current_amd64.deb报错dpkg: error processing package google-chrome-stable (--install): 为这个的话执行一下命令:sudo apt-get upgrade sudo apt-get update sudo apt-get -f install dpkg -i google-chrome-stable_current_amd64.deb出现警告 出现这个的时候修改当前目录的".bashrc"vi ~/.bashrc //编辑文件 export PATH=/usr/loca/sbin:/usr/sbin:/sbin:$PATH //添加内容 :wq 退出source ~/.bashrc //执行命令source /etc/profile#加这一条是为了保险起见 //执行命令3, 下载chromedriver查看chrome版本google-chrome --version下面是关系表将下载好的chromedriver 放到python脚本同级目录方便调用,并修改读写权限:chmod 755 chromedriver测试代码from selenium import webdriver print('开始') # 创建chrome对象 opt=webdriver.ChromeOptions() # 解决DevToolsActivePort 文件不存在的报错 opt.add_argument('--no-sandbox') # 指定浏览器分辨率 opt.add_argument('window-size=1600x900') # 规避Bug opt.add_argument('--disable-gpu') # 隐藏滚动条 opt.add_argument('--hide-scrollbars') # 不加载图片,提速 opt.add_argument('blink-settings=imagesEnabled=false') # 不提供可视化 opt.add_argument('--headless') web=webdriver.Chrome(chrome_options=opt,executable_path='./chromedriver') web.get('http://www.baidu.com') print(web.title) web.quit() print('结束')
2022年02月18日
495 阅读
0 评论
0 点赞
2022-02-15
python中csv文件的用法,以及添加数据时,解决自动换行问题!
前言这里我例举两个写csv的方法,往下看!有时候想用python将数据写入csv文件的时候,有时候会遇到下面的这种情况:教程import csv # 第一种写法 f = open('name.csv', mode='w', newline='') # 加上“ newline='' ”,就能解决自动换行问题 csvwriter = csv.writer(f) #第二种写法 with open('name.csv',mode='w') as f: writer = csv.writer(f) 加上“ newline=' ' ”,就能解决自动换行问题!以上两种写法比较常用!
2022年02月15日
493 阅读
0 评论
0 点赞
1
2
3
4