繁体   English   中英

这是 64 位编码的吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM