У меня тут странная проблема.У меня есть две строки для сравнения.
Позволяет назвать это:
Строка "A" и строка "B".
Обе строки имеют одинаковые данные
«A»: «1234» и «B»: «1234»
Но при сравнении они не совпадают или не равны .
Я пытаюсь обрезать обе строки.Но результат все равно не равен.
Затем я пытаюсь проверить длину строки.
"A" содержит 4, но "B" содержит 16.
Таким образом, это означает, что
строка "A" имеетдлина 4 и строка «B» имеет длину 16.
Как это может быть так?
Так что теперь я не могу это сравнить.
Для заметки. Строка "B" данные - это расшифрованные данные из базы данных.Но длина стала 16.
Как я могу решить это?или верните строку "B" в нормальное состояние.
Спасибо
Редактировать:
Я ставлю скриншот, попробуйте увидеть это

И вот код, который я использую:
if (Input_PIN.text.Length >= 4)
{
Debug.Log("A Text : " + Input_PIN.text);
Debug.Log("A Lenght : " + Input_PIN.text.Length);
Debug.Log("B Text : " + user_account_detail.Pin);
Debug.Log("B Lenght : " + user_account_detail.Pin.Length);
if (Input_PIN.text.Trim() == user_account_detail.Pin.Trim())
{
UnityEngine.SceneManagement.SceneManager.LoadScene("scene_foundation");
}
else
{
UtilityScript.GetComponent<utility>().MessageBox_Pin_Wrong();
Input_PIN.text = "";
}
}
И это код decrpyt, который я использую для строки "B":
public static string Decrypt(string prm_text_to_decrypt, string prm_key, string prm_iv)
{
var sEncryptedString = prm_text_to_decrypt;
var rj = new RijndaelManaged()
{
Padding = PaddingMode.PKCS7,
Mode = CipherMode.CBC,
KeySize = 256,
BlockSize = 128,
};
var key = Convert.FromBase64String(prm_key);
var IV = Convert.FromBase64String(prm_iv);
var decryptor = rj.CreateDecryptor(key, IV);
var sEncrypted = Convert.FromBase64String(sEncryptedString);
var fromEncrypt = new byte[sEncrypted.Length];
var msDecrypt = new MemoryStream(sEncrypted);
var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read);
csDecrypt.Read(fromEncrypt, 0, fromEncrypt.Length);
return (Encoding.ASCII.GetString(fromEncrypt));
}