[英]Unable to convert varchar type to byte[]
我想将明文密码与保存在数据库中的crypted_password和salt比较,因为我有一个名为passwordisvalid()的函数,该函数具有3个参数(字符串,byte [],byte []),明文密码的字符串,byte []用于保存的cryptedpassword和保存的salt和crypted_password和salt属性是数据库中的varchar类型,所以我的问题是如何将varchar数据类型转换为byte [],以便可以将其传递给passwordisvalid()?
public static bool IsPasswordValid(string passwordPlainText, byte[] savedSaltBytes, byte[] savedHashBytes)
{
byte[] array1 =GenerateSaltedHash(passwordPlainText,savedSaltBytes);
byte[] array2 = savedHashBytes;
if (array1.Length != array2.Length)
return false;
for (int i = 0; i < array1.Length; i++)
{
if (array1[i] != array2[i])
return false;
}
return true;
}
任何帮助将不胜感激。
数据库中的varchar元素应映射回字符串。 所以问题就变成了,我怎样才能将字符串转换为字节数组。
看一下这篇文章: 如何在C#中获得字符串的一致字节表示而无需手动指定编码? 它说明了如何在不使用utf编码的情况下转换为byte []。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.