我知道如何加密测试但我不知道如何解密它。
任何人都可以说我怎么能这样做。
我用来加密字符串的代码是
string encoded = Convert.ToBase64String(Encoding.Unicode.GetBytes("USERNAME"));
string decript = Convert.ToString(encoded);
Decrypt(encoded);
我不知道如何解密。
答案 0 :(得分:6)
首先,您不是加密而是编码。加密通常使用密钥(或公钥/私钥对),以便只有持有密钥的人才能解密加密的消息。如果您知道使用的算法,则编码是可逆的。编码不应该用作加密的替代品;它不安全。
其次,你只需要使用你用来进行编码的Convert方法的双胞胎来反转这个过程。
string decoded = Encoding.Unicode.GetString( Convert.FromBase64String( encoded ) );
答案 1 :(得分:5)
Base64不是“加密” - 它只是将任意二进制数据表示为完全ASCII字符串的一种方式。
Convert.ToBase64String
的反面只是Convert.FromBase64String
,但重要的是要了解这是不加密技术。 (同样值得思考为什么你有这个中间线 - 当你传递一个字符串时,你期望Convert.ToString
做什么?)
答案 2 :(得分:2)
您是否尝试过Convert.FromBase64String()
?
答案 3 :(得分:1)
此代码用于向/从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);