网上看到的跟自己写的机密方式都用过了。为什么加密出来的结果不一样?
//方法一:
public static string GETSHA512Encrypt(string strDigestStr)
{
byte[] aryEncodedData;
SHA512Managed inDigest = new SHA512Managed();
UTF8Encoding inUTF8 = new UTF8Encoding();
aryEncodedData = inUTF8.GetBytes(strDigestStr);
aryEncodedData = inDigest.ComputeHash(aryEncodedData);
String tmp = "";
for (int nLoop = 0; nLoop < aryEncodedData.Length; nLoop++)
tmp += aryEncodedData[nLoop].ToString("X2"); return tmp;
}//方法二:
public static string SHA512Encrypt(string str)
{
System.Security.Cryptography.SHA512 s512 = new System.Security.Cryptography.SHA512Managed();
byte[] byte1;
byte1 = s512.ComputeHash(Encoding.Default.GetBytes(str));
s512.Clear();
return Convert.ToBase64String(byte1); }
//方法三: 就在一上面 把 tmp += aryEncodedData[nLoop].ToString("X2"); 改成
tmp += aryEncodedData[nLoop].ToString("");
为什么同样加密 :JhonLocke234234‐3223423‐676778‐5656
的出来的结果 都不一样 。 我想要的是“948914afc66ddadb2e7f70b80c9ecd07f5b4d7aa181ae50bb0ba3487027cd1b07cdd90c93c1fb0d2022033076d54019d58b45f82149c2f25fee2033312a0a228”为什么呢 求大神解答。
SHA51212C#加密算法
//方法一:
public static string GETSHA512Encrypt(string strDigestStr)
{
byte[] aryEncodedData;
SHA512Managed inDigest = new SHA512Managed();
UTF8Encoding inUTF8 = new UTF8Encoding();
aryEncodedData = inUTF8.GetBytes(strDigestStr);
aryEncodedData = inDigest.ComputeHash(aryEncodedData);
String tmp = "";
for (int nLoop = 0; nLoop < aryEncodedData.Length; nLoop++)
tmp += aryEncodedData[nLoop].ToString("X2"); return tmp;
}//方法二:
public static string SHA512Encrypt(string str)
{
System.Security.Cryptography.SHA512 s512 = new System.Security.Cryptography.SHA512Managed();
byte[] byte1;
byte1 = s512.ComputeHash(Encoding.Default.GetBytes(str));
s512.Clear();
return Convert.ToBase64String(byte1); }
//方法三: 就在一上面 把 tmp += aryEncodedData[nLoop].ToString("X2"); 改成
tmp += aryEncodedData[nLoop].ToString("");
为什么同样加密 :JhonLocke234234‐3223423‐676778‐5656
的出来的结果 都不一样 。 我想要的是“948914afc66ddadb2e7f70b80c9ecd07f5b4d7aa181ae50bb0ba3487027cd1b07cdd90c93c1fb0d2022033076d54019d58b45f82149c2f25fee2033312a0a228”为什么呢 求大神解答。
SHA51212C#加密算法
{
byte[] bytes = Encoding.UTF7.GetBytes(password);
byte[] result;
SHA512 shaM = new SHA512Managed();
result = shaM.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
foreach (byte num in result)
{
sb.AppendFormat("{0:x2}", num);
}
return sb.ToString();
}方法二不对吧