如何解密c#中的字符串

时间:2011-11-27 14:32:47

标签: c# winforms base64

我知道如何加密测试但我不知道如何解密它。

任何人都可以说我怎么能这样做。

我用来加密字符串的代码是

string encoded = Convert.ToBase64String(Encoding.Unicode.GetBytes("USERNAME"));
string decript = Convert.ToString(encoded);
Decrypt(encoded);

我不知道如何解密。

4 个答案:

答案 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);