php crypt md5,PHP crypt()-返回的md5哈希

$1$rasmusle$rISCgZzpwk3UhDidwXvin0

我知道,“ $1 $”是前缀,其中包含信息,即哈希是MD5哈希.

但是字符串的其余部分如何成为MD5哈希呢?通常它应该是32个字符的字符串(0-9,a-f),对吗?

我敢肯定,这是一个愚蠢的问题,但我仍然想问.

解决方法:

Normally it should be a 32 char string (0-9, a-f), right?

这是不正确的(至少严格来讲).从技术上讲,MD5哈希是一个128位的数值.您习惯的形式就是该数字的十六进制表示形式.之所以选择它是因为它们很容易以字符串形式进行交换(128位整数很难处理.毕竟,典型的整数变量通常仅包含64位).请考虑以下示例:

> md5(“ test”)以十六进制(以16为底)表示形式:098f6bcd4621d373cade4e832627b4f6

>以base 64表示形式的md5(“ test”):CY9rzUYh03PK3k6DJie09g ==

> md5(“ test”)以十进制(以10为底)表示形式:12707736894140473154801792860916528374

>以基数27表示形式的md5(“ test”)(从未使用,仅因为我可以并且证明我的观点):ko21h9o9h8bc1hgmao4e69bn6f

所有这些字符串代表相同的数值,只是基数不同.

标签:crypt,md5,php

来源: https://codeday.me/bug/20191120/2043155.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值