[英]Is this 64-bit Encoded?
我们的用户数据库中的所有密码看起来像这样,我们在末尾有 ==:
91F2FSEYrFOcabeHK/UfNw==
那么如何判断这是否是 64 位编码的呢? 一定是因为我可以使用我拥有的 64 位解码例程进行解码。
我现在正试图弄清楚如何将文字字符串解码为 64 位..返回 xxxxxxxx==,这是我的代码:
string passwordToEncrypt = "test";
byte[] passwordToBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(passwordToEncrypt);
result = Convert.ToBase64String(passwordToBytes);
更新:
我需要在 Base64 中出现文本测试,最后带有 ==。
你有一个错字 - 所以上面的代码不能编译,试试
string passwordToEncrypte = "test";
byte[] passwordToBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(passwordToEncrypte);
string result = Convert.ToBase64String(passwordToBytes);
result
现在包含一个“Base64”编码的密码并以“==”结尾...
但是上面的代码仅适用于包含ASCII
的密码......如果你希望它与UTF8
密码一起使用,请将其更改为:
string passwordToEncrypte = "test";
byte[] passwordToBytes = Encoding.UTF8.GetBytes(passwordToEncrypte);
string result = Convert.ToBase64String(passwordToBytes);
到 go 从 Base64 回到原来的你需要做的:
string Original = Encoding.UTF8.GetString (Convert.FromBase64String(result));
请参阅http://msdn.microsoft.com/en-us/library/86hf4sb8.aspx
和http://msdn.microsoft.com/en-us/library/system.convert.tobase64string.aspx
和http://msdn.microsoft.com/en-us/library/system.convert.frombase64string.aspx
Base64 编码的字符串并不总是以 = 结尾,如果需要将字符串填充到适当的长度,它只会以一个或两个 = 结尾。有关更多详细信息,请查看以下链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.