我想争夺所有的a-zA-Z这样的世界
你好成为shrxs或bhidf
其余的应该保持不变.例如."你好世界!"="ksgii fishl!"
等等
目前尚不清楚这是否可以逆转,所以这里有两个备选答案.
"你好"成为"shrxs"意味着一种超越简单替代(凯撒密码)的方案,或许像聚合字母密码.
但是对于一个简单的凯撒密码,你可以使用strtr
$plain="hello"; $cipher = strtr($plain, "abcdefghijklmnopqrstuvwxyz", "tuvhijkcwxyzldefgsmnopqrab"); echo $cipher;
会显示"cizze";
如果你不需要扭转加扰,并想要一些真正随机的东西,试试这个
function random_char($matches) { return chr(rand(ord('a'),ord('z'))); } $plain="hello"; $random=preg_replace_callback( "{[a-z]}i", "random_char", $plain); echo $random;
这里我们使用preg_replace_callback让random_char回调用随机替代替换每个char.
您可能还想查看str_rot13函数,它具有可逆性的优点.