hi,欢迎访问本站!
当前位置: 首页编程开发正文

关于php中md5加密16位的问题

墨初 编程开发 612阅读

在php脚本中使用md5函数进行加密会返回32位小写密文,但在某些情况下我们可以只需要md5加密后的密文为8位,那如何做呢?下面73so博客的小编就来和大家说一说。

php中的md5加密

md5():计算字符串的md5散列。

md5():此函数使用用rsa数据安全,包括md5的报文摘要算法。

语法:

md5(string,raw)

参数:

参数 描述
string 必需。规定要计算的字符串。
raw 可选。规定十六进制或二进制输出格式:              
TRUE - 原始 16 字符二进制格式              
FALSE - 默认。32 字符十六进制数

php md5用法

例:php计算一个字符串的md5的值

echo md5('73so.com');
// 2f3bc1ad4b916a7be84f331d6e95038a

例:php计算一个字串的md5值,以大写的方式返回。

在php中可以使用strtoupper()函数将小写的字母转为大写。

echo strtoupper(md5('73so.com'));
//2F3BC1AD4B916A7BE84F331D6E95038A

php实现MD5加密16位生成

在php中可以通过substr()函数来截取md5 32位的方法来换取16位md5加密的值。

例:

# 获取16位md5加密的小写值
echo substr(md5('73so.com'),8,16);
// 4b916a7be84f331d
# 获取16位md5加密的大写值
echo strtoupper(substr(md5('73so.com'),8,16));
// 4B916A7BE84F331D

PS:关于md5报文摘要算法

MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"指纹信息"或"报文摘要"值来代表这个输入值,并以换算后的值作为结果。MD5 算法主要是为数字签名应用程序而设计的;在这个数字签名应用程序中,较大的文件将在加密(这里的加密过程是通过在一个密码系统下[如:RSA]的公开密钥下设置私有密钥而完成的)之前以一种安全的方式进行压缩。

声明:无特别说明,转载请标明本文来源!
相关推荐