Maison >développement back-end >tutoriel php >php的md5结果能否转为二进制再base64编码以缩短长度?

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

WBOY
WBOYoriginal
2016-08-10 09:07:271988parcourir

问题大致如题, 简单的进制转换似乎只能得到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啊.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn