PHP替换数组内字符
发布时间:December 23, 2013 // 分类:PHP // No Comments
<?php
$columns = array('11', '12', '13');
foreach ( $columns as &$value)
{
$value = str_replace('1', '5', $value);
}
foreach ($columns as $key => $value)
{
$columns[$key] = str_replace('5', '1', $value);
}
print_r($columns);
?> PHP异或加密解密
发布时间:December 23, 2013 // 分类:PHP // No Comments
对于安全性要求不高的情况下足够用了,性能从高到低的两种实现:
<?php
function xor_enc($string, $operation, $key = 'abcdf') {
$string = $operation == 'ENCODE' ? $string : base64_decode($string);
$len1 = strlen($string);
$len2 = strlen($key);
if($len1 > $len2) $key = str_repeat($key, ceil($len1 / $len2));
$string = $operation == 'ENCODE' ? base64_encode($string ^ $key) : $string ^ $key;
return $string;
}
?> function xor_enc($string, $operation = 'ENCODE', $key = 'abcd') {
$txt = $operation == 'ENCODE' ? $string : base64_decode($string);
$len = strlen($key);
$code = '';
for ($i = 0; $i < strlen($string); $i ++) {
$k = $i % $len;
$code .= $string [$i] ^ $key [$k];
}
$code = $operation == 'ENCODE' ? base64_encode($code) : $code;
return $code;
} PHP随机生成英文字符/密码及可阅读用户名
发布时间:December 18, 2013 // 分类:PHP // No Comments
<?php
function genstr($num)
{
for ($i = 0; $i <= $num; $i++)
{
$str .= chr(mt_rand(97, 122));
}
return $str;
}
function geenstr($num) {
return substr(str_shuffle('abcdefghijklmnopqrstuvwxyz'), 0, $num);
}
echo genstr(6);
?>20231111更新:
<?php
function isEveryCharInString($needle, $haystack) {
for ($i = 0; $i < strlen($needle); $i++) {
if (strpos($haystack, $needle[$i]) !== false) {
return true;
}
}
return false;
}
function readable_random_string($length = 14){
$consonants = array("b","c","d","f","g","h","j","k","l","m","n","p","r","s","t","v","w","x","y","z");
$conscount = count($consonants) - 1;
$vowels = array("a","e","i","o","u");
$vowcount = count($vowels) - 1;
$password = '';
for($i = 1; $i <= $length; $i++) {
if ($i % 2 == 0) {
$password .= $vowels[random_int(0, $vowcount)];
} else {
$password .= $consonants[random_int(0, $conscount)];
}
}
return $password;
}
function generate_password($length = 14, $special = true, $extra_special = true) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$special_chars = '!@#$%^&*()';
$extra_special_chars = '-_[]{}<>~`+=,.;:/\?|';
//$extra_special_chars = '-_ []{}<>~`+=,.;:/?|';
if ($special) {
$chars .= $special_chars;
}
if ($extra_special) {
$chars .= $extra_special_chars;
}
while (true) {
$password = '';
for ($i = 1; $i <= $length; $i++) {
$password .= substr($chars, random_int(0, strlen($chars) - 1), 1);
}
if (($special && ! isEveryCharInString($password, $special_chars)) || ($extra_special && ! isEveryCharInString($password, $extra_special_chars))) {
continue;
}
return $password;
}
}
$length = 14;
echo readable_random_string($length).PHP_EOL;
echo generate_password($length, false, false).PHP_EOL;
echo generate_password($length, true, false).PHP_EOL;
echo generate_password($length).PHP_EOL; 分类
- Apache (13)
- Nginx (45)
- PHP (86)
- IIS (8)
- Mail (17)
- DNS (16)
- Cacti (14)
- Squid (5)
- Nagios (4)
- Puppet (7)
- CentOS (13)
- Iptables (23)
- RADIUS (3)
- OpenWrt (41)
- DD-WRT (1)
- VMware (9)
- 网站程序 (2)
- 备份存储 (11)
- 常用软件 (20)
- 日记分析 (10)
- Linux基础 (18)
- 欧诺代理 (0)
- Linux服务 (18)
- 系统监控 (4)
- 流量监控 (7)
- 虚拟化 (28)
- 伪静态 (2)
- LVM (3)
- Shell (18)
- 高可用 (2)
- 数据库 (16)
- FreeBSD (3)
- 网络安全 (25)
- Windows (35)
- 网络工具 (22)
- 控制面板 (3)
- 系统调优 (10)
- Cisco (3)
- VPN (6)
- ROS (20)
- Vim (14)
- KMS (4)
- PXE (2)
- Mac (1)
- Git (1)
- PE (1)
- LNS (2)
- Xshell (7)
- Firefox (13)
- Cygwin (4)
- OpenSSL (9)
- Sandboxie (3)
- StrokesPlus (1)
- AutoHotKey (4)
- Total Commander (3)
- WordPress (3)
- iMacros (6)
- Typecho (2)
- Ollydbg (1)
- Photoshop (1)
- 正则 (3)
- Debian (3)
- Python (8)
- NoSQL (6)
- 消息队列 (4)
- JS (7)
- Tmux (3)
- GO (7)
- HHVM (2)
- 算法 (1)
- Docker (2)
- PT (15)
- N1 (16)
- K2P (6)
- LUKS (4)
最新文章
- debian 12开机关机systemd-journald日志不连续解决
- debian12下initramfs-tools使用udhcpc配置dhcp ip
- dns压力测试工具queryperf使用
- sandboxie plus运行firefox 140播放视频全屏不能覆盖任务栏
- TEWA-1100G光猫使用
- 烽火光猫HG5382A3使用
- 记联通更换移动XG-040G-MD光猫
- smokeping slave同步错误illegal attempt to update using time解决
- 使用valgrind定位解决smartdns内存泄露
- 此内容被密码保护
最近回复
- 海运: 可能版本问题
- 海运: 如果运营商限制型号
- 海运: 没有
- Mruru: 烽火猫切换rootfs的方法有么大佬?
- nono: 修改光猫型号是做啥子用的
- 960: root账号默认密码hg2x0 不对哇
- rer: 感谢分享!~
- opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
- liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
- 海运: 不好意思,没有。
归档
- November 2025
- October 2025
- August 2025
- March 2025
- February 2025
- August 2024
- May 2024
- February 2024
- January 2024
- December 2023
- November 2023
- October 2023
- September 2023
- August 2023
- May 2023
- April 2023
- February 2023
- January 2023
- December 2022
- September 2022
- July 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- July 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- July 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- September 2018
- August 2018
- July 2018
- June 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- October 2017
- September 2017
- August 2017
- July 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- July 2016
- June 2016
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- October 2011
- September 2011
- August 2011
- July 2011