请问PHP如何把字符串hash成10进制数字?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

请问PHP如何把字符串hash成10进制数字?

落地花开啦 2016-06-12 17:32:52 1679

md5这种方法都是哈希成一个字符+数字的字符串,但是现在我需要把一个字符串哈希成10进制数字,有没有什么算法可以实现的,或者可以吧md5的结果转换成10进制的

算法 PHP
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:34:46

    一般情况而言需要做字符串到十进制数字的转换可以用 crc32() 函数 ...

    这个函数的优点是快 ... 在我的知识范围内这应该是 php 内置最快的哈希函数 ...

    缺点是操作系统依赖 ... 不同操作系统的 crc32() 函数会产生不一样的值 ...

    至于把 md5() 的结果转化成十进制 ... 用 hexdec() 显然是不靠谱的 ... 原因如楼上所说不赘述 ...

    这里我们用到另外一个更加灵活的进制转换函数 base_convert() ...

    这个函数的好处是返回 string ... 也就不存在溢出的问题了 ...

    示例代码如下 ...

    <?php
    echo base_convert( md5( 'something' ), 16, 10 );
    
    // 89699910832403552662426604448206446062
    0 0
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

推荐文章
相似问题