我知道如何加密測試,但我不知道如何解密它。如何解密c中的字符串
任何人都可以請我說我該怎麼做。
我使用的加密字符串的代碼是
string encoded = Convert.ToBase64String(Encoding.Unicode.GetBytes("USERNAME"));
string decript = Convert.ToString(encoded);
Decrypt(encoded);
我不知道如何解密。
我知道如何加密測試,但我不知道如何解密它。如何解密c中的字符串
任何人都可以請我說我該怎麼做。
我使用的加密字符串的代碼是
string encoded = Convert.ToBase64String(Encoding.Unicode.GetBytes("USERNAME"));
string decript = Convert.ToString(encoded);
Decrypt(encoded);
我不知道如何解密。
首先,你不是加密而是編碼。加密通常使用密鑰(或公/私鑰對),以便只有持有密鑰的人才能解密加密的消息。如果您知道使用的算法,則編碼是可逆的。編碼不應該用作加密的替代品;它不安全。第二,你只需要使用你用來編碼的Convert方法的兩個反轉過程即可。
string decoded = Encoding.Unicode.GetString(Convert.FromBase64String(encoded));
謝謝它的工作正常 –
Base64不是「加密」 - 它只是一種將任意二進制數據表示爲完全ASCII字符串的方式。
的Convert.ToBase64String
反向簡直是Convert.FromBase64String
,但你明白,這是不是的加密技術是很重要的。 (這也值得思考爲什麼你有中間線 - 當你傳遞一個字符串時,你期望Convert.ToString
做什麼?)
-1:有snark的時間和地點,但它不是「整個答案」 – millimoose
@Inerdial OP的問題記錄應該幾乎證明,否則,但是好的,編輯。 – CodeCaster
該代碼被用來從編碼的Base64 /解碼字符串/:
string inputText = "This is some text.";
byte [] bytesToEncode = Encoding.Unicode.GetBytes (inputText);
string encodedText = Convert.ToBase64String (bytesToEncode);
byte [] decodedBytes = Convert.FromBase64String (encodedText);
string decodedText = Encoding.Unicode.GetString (decodedBytes);
Pedanticism:這不是加密和解密,這是編碼和解碼。 – millimoose
你的例子中沒有加密,只有編碼。 – CodesInChaos
推論是,如果你依靠base64編碼來保持用戶名是祕密的,那麼你的整個方法都是錯誤的。 – millimoose