php md5()实现什么功能
时间:2021-07-07 来源:互联网
今天PHP爱好者给大家带来php md5()可以实现加密解密功能,其实现方法:1、通过“function string2secret($str){...}”方法实现加密;2、通过“function secret2string($sec){...}”方法实现解密。希望对大家有所帮助。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php md5()实现什么功能?
php md5()可以实现加密解密功能。
php结合md5实现的加密解密方法,如下:
最近在整理代码发现了一个不错的东西,结合md5的加解密算法。网上关于php结合md5的加密,解密算法比较少的,其实php手册里面就有,改一改就行了。在此贴一下,用这算法要加载一个php模块mcrypt,不然用不了。
//加密
function string2secret($str)
{
$key = "123";
$td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
$key = substr(md5($key), 0, $ks);
mcrypt_generic_init($td, $key, $iv);
$secret = mcrypt_generic($td, $str);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $secret;
}
//解密
function secret2string($sec)
{
$key = "123";
$td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
$key = substr(md5($key), 0, $ks);
mcrypt_generic_init($td, $key, $iv);
$string = mdecrypt_generic($td, $sec);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim($string);
}
echo secret2string(string2secret("11111111111111111")); //显示结果是11111111111111111
echo string2secret("11111111111111111"); //显示乱码
php经常用的加解密函数,base64_encode,base64_decode。
md5函数的定义和用法
md5() 函数计算字符串的 MD5 散列。
md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。
来自 RFC 1321 的解释 - MD5 报文摘要算法:MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"指纹信息"或"报文摘要"值来代表这个输入值,并以换算后的值作为结果。MD5 算法主要是为数字签名应用程序而设计的;在这个数字签名应用程序中,较大的文件将在加密(这里的加密过程是通过在一个密码系统下[如:RSA]的公开密钥下设置私有密钥而完成的)之前以一种安全的方式进行压缩。
如需计算文件的 MD5 散列,请使用 md5_file() 函数。
语法
md5(string,raw)
参数
string 必需。规定要计算的字符串。
raw
可选。规定十六进制或二进制输出格式:
TRUE - 原始 16 字符二进制格式
FALSE - 默认。32 字符十六进制数
以上就是php md5()实现什么功能的详细内容,更多请关注php爱好者其它相关文章!
-
蛋仔派对惊魂夜角色排名多少 2024-11-22
-
崩坏星穹铁道真的假的成就攻略 2024-11-22
-
光遇茫然植物学生先祖物品有哪些 2024-11-22
-
LOL手游铁男什么时候出?LOL手游铁男推出时间 2024-11-22
-
第五人格一个手机号能绑几个账号 2024-11-22
-
光遇彩虹币怎么获得?光遇彩虹币获得方法 2024-11-22