MD5 to Hex

  1. 正数
    1. 每四位转换成16进制即可
    2.     十进制=> 二进制   =>  十六进制
    3.        15       00001111           0F
  2. 负数
    1. 计算机的负数不是用源码,而是用补码,所以需要转换反码,然后+1成补码,计算十六进制
    2. 下例类型为byte,其中最高位是符号位,为1
    3.  十进制=> 二进制原码   => 二进制反码 => 二进制补码 = > 十六进制
    4.      -91   => 11011011   => 10100100   => 10100101    => A5
  3. 案例
    1. 对于MD5加密,API返回的结果是一个长度为16的byte数组,按照比特位计算共128位
      1. DigestUtils.md5Hex("heloworld")
    2. 需要转换为十六进制,进行如上计算,即可。
      1. 实现方式可以负数+256 然后转换、正数直接转换
      2. 负数的二进制补码+二进制原码=256   (仅限于byte)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值