很多时候我们都会用到用户名跟登录密码,通常密码都会被加密存储,其中就有一种方式就是MD5。
如果我们把password MD5后以String的方式存入文件或数据库中,那么这里就会出现一个问题,你从文件或数据库取出来的密码(MD5)值可能没有128位或者说没有16个字节,这是为什么呢?
例如:(二进制 )00000000 11111110 10110011 00101111 00000000 00101010 …… lenght = 128 byte
转化成String之后:(二进制)11111110 10110011 00101111 00101010 …… lenght = 126 byte
注:每一个下划线是一个char
这个为什么小于255的char转化成String之后就变成了一个字节了,至今我也没有弄明白。