C# 加密-加密后为何有两种结果的字符串?
问:C# 加密后为何有两种结果的字符串?
比如 cftea 的 MD5 加密后:
- 有的人的结果是:c2e1861ca90e67ce1f9a62f9c27d8bdc
- 有的人的结果是:wuGGHKkOZ84fmmL5wn2L3A
答:这是对字节的两种不同表示结果。
第一种是用十六进制表示的(FormsAuthentication.HashPasswordForStoringInConfigFile 就是这种,只是是大写的),具体请参见 BitConverter 。如果用 BitConverter 时没有替换掉“-”的话,加密结果中还会有“-”分隔开。
第二种是用的 Base64 编码,具体请参见 Base64 编码简介 。