Bla*_*man 11 c# asp.net hash md5
我正在做一个md5哈希,只是想确保结果:
md5.ComputeHash(bytePassword);
Run Code Online (Sandbox Code Playgroud)
无论服务器是否一致?
例如Windows 2003/2008和32/64位等.
MD5独立于操作系统和体系结构.所以它是"一致的".
但是,MD5将任意比特序列作为输入,并输出128比特的序列.在许多情况下,您需要字符串.例如,您希望哈希密码,密码最初是一个字符串.将该字符串转换为位序列不是MD5本身的一部分,并且存在若干约定.我不完全了解C#,但Java等效String.getBytes()
方法将使用"平台默认字符集",它可能随操作系统安装而变化.类似地,MD5的输出通常转换为具有十六进制表示法的字符串,并且可以是大写或小写或其他.
因此,虽然MD5本身是一致的,但是在为MD5准备数据并对其输出进行后处理的部分中经常会出现错误.谨防.