簡體   English   中英

無法將varchar類型轉換為byte []

[英]Unable to convert varchar type to byte[]

我想將明文密碼與保存在數據庫中的crypted_pa​​ssword和salt比較,因為我有一個名為passwordisvalid()的函數,該函數具有3個參數(字符串,byte [],byte []),明文密碼的字符串,byte []用於保存的cryptedpassword和保存的salt和crypted_pa​​ssword和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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM