admin 发布的文章 - 学习笔记
首页
影视
壁纸
直播
留言
统计
关于
搜 索
1
WPS Office 2023专业增强版 免激活
613 阅读
2
微软远程桌面(RD客户端.apk)
352 阅读
3
第18周福利图1
308 阅读
4
百度网盘解析站汇总
300 阅读
5
Nginx下配置Typecho 1.2.0伪静态
266 阅读
技术教程
软件分享
游戏分享
源码分享
值得一看
登录
/
注册
搜 索
标签搜索
游戏
小姐姐
福利
中文版
福利图
Typecho
2023
特别版
角色扮演
支持手柄
美女
动作
Ubuntu
PDF
精简版
TV
电影
汉化
windows
重制版
博主
累计撰写
140
篇文章
累计收到
21
条评论
首页
栏目
技术教程
软件分享
游戏分享
源码分享
值得一看
页面
影视
壁纸
直播
留言
统计
关于
用户登录
登录
注册
找到
140
篇与
admin
相关的结果
2023-04-09
第17周福利图
我暗恋的人说眼睛疼 所以我买了瓶眼药水寄过去,但她却告诉我她有喜欢的人了 让我别再打扰,距离遥远顺丰都要三天才能到,可她为什么只用了一秒就把眼药水滴进了我眼睛里。
2023年04月09日
73 阅读
0 评论
0 点赞
2023-04-09
第16周福利图
所谓成长就是在听到波涛汹涌以后再也想不到大海了。
2023年04月09日
121 阅读
0 评论
1 点赞
2023-04-07
Alist-DPC(win可视面板)
AList在部署配置上可能稍微有些麻烦,你可以看官方提供的文档,或者搜索相关的视频进行操作,如果你经常使用网盘等存储服务,相信它能帮助你提高不少效率。演示站: http://alilida.com 截图AList特点 支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等,且易于拓展。支持 WebDAV暗黑模式受保护的路由文件预览打包下载文件编辑HTML渲染文件永久链接-Cloudflare Workers 代理等等Alist-DPC Alist-DPC是一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动下载地址
2023年04月07日
64 阅读
0 评论
0 点赞
2023-03-30
Ubuntu下搭建FTP服务器
FTP连接模式FTP有两个端口,一个端口是作为控制连接端口,即21号端口,该端口用于发送指令给服务器以及等待服务器相响应;另一个端口是数据传输端口,端口号为20,用来建立数据传输通道;所以FTP的连接模式有两种,主动和被动,也就是PORT和PASV,这都是相对于服务器而言,类似zabbix的主动与被动。PORT模式主动模式FTP客户端把自己的高位端口和FTP服务器的TCP的21端口建立连接通道,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令,告诉服务端,客户端用什么端口接收数据,从而服务端收到客户端的端口信息后,就通过自己的20端口和客户端的指定随机高位端口进行连接,数据链路建立。PASV模式被动模式是当客户端发送数据请求后,服务端也会发信息给客户端,告诉客户端,服务端在它本地打开了一个高位端口,让客户端来连吧,当客户端收到服务端的信息后,就去连接服务端的高位随机端口,数据链路建立。区别两种模式主要是数据链路建立的不同,主动模式是客户端在本地打开一个高位端口等待服务端建立连接,被动模式是服务端打开一个高位端口等待客户端去建立一个数据连接。知道这些对于理解FTP就差不多了,下面开始介绍在ubuntu下如何搭建FTP的主动和被动搭建sudo vsftpd -versionsudo apt-get install vsftpdsudo mkdir -p /home/ftp sudo useradd -d /home/ftp -s /bin/bash root #root为你为该ftp创建的用户名 sudo passwd root #用cat etc/passwd可以查看当前系统用户sudo vi vsftpd.conf#设置属性值 anonymous_enable=NO #禁止匿名访问 local_enable=YES write_enable =YES ESC 退出编辑, 输入:wq 后回车保存退出编辑。sudo service vsftpd start主动被动模式配置#主动模式配置 listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES #主动模式进行数据传输时是否使用20端口 xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO chroot_local_user=YES allow_writeable_chroot=YES write_enable=YES local_root=/data/storage local_umask=0 file_open_mode=0666 port_enable=YES #主动模式开启#被动模式配置 listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO chroot_local_user=YES allow_writeable_chroot=YES write_enable=YES local_root=/data/storage local_umask=0 file_open_mode=0666 pasv_enable=YES #开启被动模式 pasv_min_port=10001 pasv_max_port=10250 pasv_promiscuous=YES #关闭被动模式时的安全检查
2023年03月30日
107 阅读
0 评论
0 点赞
2023-03-16
Putty 0.77 绿色汉化版
界面预览软件特色 支持IPv6连接。 可以控制SSH连接时加密协定的种类。 有3DES、AES、Blowfish、DES(不建议使用)及RC4。CLI版本的SCP及SFTP Client,分别叫做pscp与psftp。 自带SSH Forwarding的功能,包括X11 Forwarding。 完全模拟xterm、VT102及ECMA-48终端机的能力。 支持公钥认证。下载地址
2023年03月16日
126 阅读
0 评论
0 点赞
2023-03-15
某度网盘不限速下载方法
首先需要使用安卓手机下载某度网盘,iOS系统的某度网盘在这里是无法使用的。之后,找到需要下载的文件,注意了,这时候不要着急点开它。 选择文件之后,点击重命名将其格式命名为".apk"、".txt"、".iso"或者".exe",又或者干脆像我一样,在原来名字的后面加一个".c",比如要下载的文件名为"abc.zip",那么就改成"abc.zip.c"。 然后,直接点击修改好的文件的文件名,度盘就会默认以预览的方式缓存并打开文件。 在这里,某度网盘的预览速度就会出奇的快。如果速度较慢的话,也可以多次返回点击预览进行“加载”,也可以尝试切换网络来加速下载。 当预览加载完成之后,不要急着打开。如果.txt格式的文件打开了,先关闭,不要做任何修改或者保存,因为之前更改了后缀名,也不是采用下载的方式,所以需要找到预览文件的缓存位置将修改的文件名再改回去。 打开系统自带的文件管理器,依次打开以下路径:/Android/data/com.baidu.netdisk/cache/preview/BaiduNetdisk/… 找到刚刚缓存的文件,将修改过的后缀名更改为原本的后缀名(比如将"abc.zip.c"改为"abc.zip")即可正常打开,另外,最好将文件从这个目录转移出来,防止长时间缓存累积,手机存储空间不足。 这个过程主要利用的是加载这一类后缀名的文件,其缓存不受下载限速的影响,目前为止亲测有效,建议大家低调使用。
2023年03月15日
128 阅读
0 评论
0 点赞
2023-03-14
在线AI画画: Vega AI 创作平台
Vega AI 创作平台不用羡慕国外技术,现在咱们国内也能用,比如这个AI绘画网站——Vrga AI,比起我以前给大家推荐的AI绘画工具,这次推荐的网站那可是质的飞跃啊~玩转技巧之超乎你想象在线AI画真人使用依旧很简单在底部输入绘画描述,选择自己喜欢的风格、模型、生成张数后直接点击生成就行了。
2023年03月14日
125 阅读
0 评论
0 点赞
2023-03-14
WPS Office 2023专业增强版 免激活
WPS Office是由北京金山办公软件股份有限公司自主研发的一款办公软件套装,1989年由求伯君正式推出WPS1.0。可以实现办公软件最常用的文字、表格、演示,PDF阅读等多种功能。具有内存占用低、运行速度快、云功能多、强大插件平台支持、免费提供在线存储空间及文档模板的优点。
2023年03月14日
613 阅读
1 评论
0 点赞
2023-03-14
PDF合并工具PDFBinder
本软件运行需要.net framework 3.5支持!软件信息软件大小:1.2M软件类别: 文档管理软件授权: 免费软件软件产地:国外软件软件语言:英文 汉化应用平台:WinXP, win7, WinAll PDFBinder是一个非常简易的开源PDF合并软件,使用简便,只有合并pdf文件这一种功能。可以很容易的将多个 PDF 合并为单一PDF,支持排序。非常的小巧,简单的添加所需要合并的pdf文件,一键合并所有pdf文件为单一的pdf文件。 直接按“+”或者拖放PDF进入框内,然后用菜单上的上下箭头调整顺序,单击“Bind!”即可开始合并。
2023年03月14日
89 阅读
0 评论
0 点赞
2023-03-08
PHP对字符串的六种加密解密方法
方法一、function encryptDecrypt($key, $string, $decrypt) { if ($decrypt) { $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12"); return $decrypted; } else { $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)))); return $encrypted; } } //加密:"z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=" echo encryptDecrypt('password', 'Helloweba欢迎您', 0); //解密:"Helloweba欢迎您" echo encryptDecrypt('password', 'z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=', 1);方法二、//加密函数 function lock_url($txt, $key = 'liiu') { $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"; $nh = rand(0, 64); $ch = $chars[$nh]; $mdKey = md5($key . $ch); $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7); $txt = base64_encode($txt); $tmp = ''; $i = 0; $j = 0; $k = 0; for ($i = 0; $i < strlen($txt); $i++) { $k = $k == strlen($mdKey) ? 0 : $k; $j = ($nh + strpos($chars, $txt[$i]) + ord($mdKey[$k++])) % 64; $tmp .= $chars[$j]; } return urlencode($ch . $tmp); } //解密函数 function unlock_url($txt, $key = 'liiu') { $txt = urldecode($txt); $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"; $ch = $txt[0]; $nh = strpos($chars, $ch); $mdKey = md5($key . $ch); $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7); $txt = substr($txt, 1); $tmp = ''; $i = 0; $j = 0; $k = 0; for ($i = 0; $i < strlen($txt); $i++) { $k = $k == strlen($mdKey) ? 0 : $k; $j = strpos($chars, $txt[$i]) - $nh - ord($mdKey[$k++]); while ($j < 0) $j += 64; $tmp .= $chars[$j]; } return base64_decode($tmp); }方法三、改进后的算法//加密函数 function lock_url($txt, $key = 'str') { $txt = $txt . $key; $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"; $nh = rand(0, 64); $ch = $chars[$nh]; $mdKey = md5($key . $ch); $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7); $txt = base64_encode($txt); $tmp = ''; $i = 0; $j = 0; $k = 0; for ($i = 0; $i < strlen($txt); $i++) { $k = $k == strlen($mdKey) ? 0 : $k; $j = ($nh + strpos($chars, $txt[$i]) + ord($mdKey[$k++])) % 64; $tmp .= $chars[$j]; } return urlencode(base64_encode($ch . $tmp)); } //解密函数 function unlock_url($txt, $key = 'str') { $txt = base64_decode(urldecode($txt)); $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"; $ch = $txt[0]; $nh = strpos($chars, $ch); $mdKey = md5($key . $ch); $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7); $txt = substr($txt, 1); $tmp = ''; $i = 0; $j = 0; $k = 0; for ($i = 0; $i < strlen($txt); $i++) { $k = $k == strlen($mdKey) ? 0 : $k; $j = strpos($chars, $txt[$i]) - $nh - ord($mdKey[$k++]); while ($j < 0) $j += 64; $tmp .= $chars[$j]; } return trim(base64_decode($tmp), $key); }方法四、function passport_encrypt($txt, $key = 'liiu') { srand((float)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ''; for ($i = 0; $i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $encrypt_key[$ctr] . ($txt[$i] ^ $encrypt_key[$ctr++]); } return urlencode(base64_encode(passport_key($tmp, $key))); } function passport_decrypt($txt, $key = 'liiu') { $txt = passport_key(base64_decode(urldecode($txt)), $key); $tmp = ''; for ($i = 0; $i < strlen($txt); $i++) { $md5 = $txt[$i]; $tmp .= $txt[++$i] ^ $md5; } return $tmp; } function passport_key($txt, $encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr = 0; $tmp = ''; for ($i = 0; $i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $txt[$i] ^ $encrypt_key[$ctr++]; } return $tmp; } $txt = "1"; $key = "testkey"; $encrypt = passport_encrypt($txt, $key); $decrypt = passport_decrypt($encrypt, $key); echo $encrypt . "<br>"; echo $decrypt . "<br>";方法五、非常给力的authcode加密函数,Discuz!经典代码(带详解)//函数authcode($string, $operation, $key, $expiry)中的$string:字符串,明文或密文;$operation:DECODE表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。 function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 $ckey_length = 4; // 密匙 $key = md5($key ? $key : $GLOBALS['discuz_auth_key']); // 密匙a会参与加解密 $keya = md5(substr($key, 0, 16)); // 密匙b会用来做数据完整性验证 $keyb = md5(substr($key, 16, 16)); // 密匙c用于变化生成的密文 $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length) : substr(md5(microtime()), -$ckey_length)) : ''; // 参与运算的密匙 $cryptkey = $keya . md5($keya . $keyc); $key_length = strlen($cryptkey); // 明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$keyb(密匙b), //解密时会通过这个密匙验证数据完整性 // 如果是解码的话,会从第$ckey_length位开始,因为密文前$ckey_length位保存 动态密匙,以保证解密正确 $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0) . substr(md5($string . $keyb), 0, 16) . $string; $string_length = strlen($string); $result = ''; $box = range(0, 255); $rndkey = array(); // 产生密匙簿 for ($i = 0; $i <= 255; $i++) { $rndkey[$i] = ord($cryptkey[$i % $key_length]); } // 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上对并不会增加密文的强度 for ($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } // 核心加解密部分 for ($a = $j = $i = 0; $i < $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; // 从密匙簿得出密匙进行异或,再转成字符 $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); } if ($operation == 'DECODE') { // 验证数据有效性,请看未加密明文的格式 if ((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16)) { return substr($result, 26); } else { return ''; } } else { // 把动态密匙保存在密文里,这也是为什么同样的明文,生产不同密文后能解密的原因 // 因为加密后的密文可能是一些特殊字符,复制过程可能会丢失,所以用base64编码 return $keyc . str_replace('=', '', base64_encode($result)); } } $str = 'abcdef'; $key = 'www.helloweba.com'; echo authcode($str, 'ENCODE', $key, 0); //加密 $str = '56f4yER1DI2WTzWMqsfPpS9hwyoJnFP2MpC8SOhRrxO7BOk'; echo authcode($str, 'DECODE', $key, 0); //解密 方法六、/** * $string:需要加解密的字符串; * $operation:E表示加密,D表示解密; * $key:自定义密匙 */ function string($string, $operation, $key = '') { $key = md5($key); $key_length = strlen($key); $string = $operation == 'D' ? base64_decode($string) : substr(md5($string . $key), 0, 8) . $string; $string_length = strlen($string); $rndkey = $box = array(); $result = ''; for ($i = 0; $i <= 255; $i++) { $rndkey[$i] = ord($key[$i % $key_length]); $box[$i] = $i; } for ($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } for ($a = $j = $i = 0; $i < $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); } if ($operation == 'D') { if (substr($result, 0, 8) == substr(md5(substr($result, 8) . $key), 0, 8)) { return substr($result, 8); } else { return ''; } } else { return str_replace('=', '', base64_encode($result)); } }
2023年03月08日
110 阅读
0 评论
0 点赞
1
...
11
12
13
14