www.ctrt.net > php纯数字加密为可逆的定长密文

php纯数字加密为可逆的定长密文

mcrypt_encrypt、mcrypt_decrypt,一个加密,一个解密

$user=$_GET['user']; $pass=md5($_GET['pass']); 此处是连接数据库查询指定用户密码加密的md5值; 如果用户录入的值与数据库中的值相等则登陆成功. 自己琢磨,多动手代码不多,很简单,不懂提问.

可逆的,定长的 如果对输入没有限制,“可逆的”和“定长的”是不可能并存的 因为定长的字符串数量有限, 有限的结果和无限的输入是无法一一对应的(可逆)

使用非对称加密方式 比如RSA

urlencode(str)//加密urldecode(str)//解密

echo password_hash("要加密的密码", PASSWORD_DEFAULT);// 输出散列值,每次都不一样password_verify ( 用户密码 , 刚刚输出的散列值 );// 返回布尔值具体参考手册

function enCp($key, $str){ $key = md5($key); $str = base64_encode($str); $key1 = substr($key, 0, 15); $key2 = substr($key, 15); $str = $key1.$str.$key2; return base64_encode($str);}function deCp($key, $str){ $key = md5($key); $...

这个就是算法的问题了,加密的有一种AES128的算法,而且是可逆的,但这个加密后的密文位数是根据原始数据而定的。

没有加密函数是直接得到48位的,你可以用md5函数得到32位,剩下16位自己编个函数随机取得,最后32位合并16位得到48位。 例如: function random(){ $a = range(0, 9); $b = range('a', 'z'); $c = range('A', 'Z'); $d = array_merge($a, $b, $c...

最常用的就是base64加密,可以多次加密,可以加密后拼接或者变换字符串后再加密,这个过程别人是不知道的,就不可能破解了。但重点不是这个,重点是加密的思路,你那样做的话,只要人家有你的本地系统,就可以随便看了,不安全埃我想这些东西

网站地图

All rights reserved Powered by www.ctrt.net

copyright ©right 2010-2021。
www.ctrt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com