我知道如何加密测试,但我不知道如何解密它。如何解密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