Heim  >  Artikel  >  Backend-Entwicklung  >  php的md5结果能否转为二进制再base64编码以缩短长度?

php的md5结果能否转为二进制再base64编码以缩短长度?

WBOY
WBOYOriginal
2016-08-10 09:07:271907Durchsuche

问题大致如题, 简单的进制转换似乎只能得到0和1的字符串, 并不是二进制数据, 希望知道这个代码该怎么写, 能否尽量用php内置的函数实现

目的是生成更短的唯一标识, 之前是使用md5再判断是否重复的, 但md5结果是32位16进制字符串, 还是有点长, 于是就想转成64进制的字符串, 不知道我的思路有没有错误?

回复内容:

问题大致如题, 简单的进制转换似乎只能得到0和1的字符串, 并不是二进制数据, 希望知道这个代码该怎么写, 能否尽量用php内置的函数实现

目的是生成更短的唯一标识, 之前是使用md5再判断是否重复的, 但md5结果是32位16进制字符串, 还是有点长, 于是就想转成64进制的字符串, 不知道我的思路有没有错误?

自行解决了:

<code>function base64md5 ($str) {
 return base64_encode(md5($str, 1));
}</code>

ps:大致如上, 手机写的代码, 不保证正确……

可以用16位的md5啊.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn