<?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异或加密解密
发布时间: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;
PHP随机生成汉字
发布时间:December 18, 2013 // 分类:PHP // No Comments
UTF-8:
<?php
function genstr($num)
{
for($i=0;$i<=$num;$i++)
{
$str .= '&#'.rand(19968, 40869).';';
}
return mb_convert_encoding($str, "UTF-8", "HTML-ENTITIES");
}
echo genstr(mt_rand(1,8));
?>
GBK:
<?php
function genstr($num)
{
for($i=0;$i<=$num;$i++)
{
$str .= chr(rand(0xB0,0xF7)).chr(rand(0xA1,0xFE));
}
return $str;
}
echo genstr(mt_rand(1,8));
?>
Python计算脚本执行时间
发布时间:December 12, 2013 // 分类:Python // No Comments
#!/usr/bin/python
# -*- coding: utf-8 -*-
from time import time
start = time()
stop = time()
print("程序执行时间"+str(stop-start) + "秒")
分类
- 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)
最新文章
- 光猫拨号ImmortalWrt/OpenWRT路由获取ipv6遇到的问题
- php-fpm错误error_log日志配置
- debian-12/bookworm安装mariadb10.3和mysql5.6
- smokeping主从配置及遇到的问题
- openwrt/linux使用tcpdump/nflog ulogd记录iptables日志
- tmux bash shell自动保存history
- ImmortalWrt/OpenWRT为guest wifi网络配置ipv6 nat6
- PVE更新upgrade遇到The following packages have been kept back
- openwrt/immortalwrt修改odhcpd ipv6 preferred_lifetime和valid_lifetime
- golang版本udpxy iptv rtp多播转http单播
最近回复
- opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
- liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
- 海运: 不好意思,没有。
- zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
- 海运: 恩山有很多。
- swsend: 大佬可以分享一下固件吗,谢谢。
- Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
- 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
- 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
- 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
归档
- 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