1、Base64非常适合http、mime协议,所以在一些类似webservice中可以用Base64。
用法如下:传出去之前先 Convert.ToBase64String(encryptedBytes)
接收方则 Convert.FromBase64String(sourceString)
2、公钥私钥加密解密,这个网上很多,可以自己去找一下,但如果要和Base64搭配使用,要注意两点:
1、Base64的长度是有限制的
2、建议先对文本做加密处理,在最面最后再做Base64处理。
3、URLEnCode,对url进行转码,
#region 公钥加密/私钥解密 (不限长string) public static string EncryptWithPublicKey(string sourceString) { var sourceBytes = Encoding.UTF8.GetBytes(sourceString); var encryptedBytes = EncryptWithPublicKey(sourceBytes); var encryptedString = Convert.ToBase64String(encryptedBytes); return encryptedString; } public static string DecryptWithPrivateKey(string sourceString) { var sourceBytes = Convert.FromBase64String(sourceString); var decryptedBytes = DecryptWithPrivateKey(sourceBytes); var decryptedString = Encoding.UTF8.GetString(decryptedBytes); return decryptedString; } #endregion 公钥加密/私钥解密(不限长string)
3、网站调用时直接用var str = Request.QueryString["str"]这个即可,不再需要Decode了, Request.QueryString会自动解码。
4、Android则需要先DeCode。
5、在3、4的基础上继续做Base64处理,私钥解密等处理,见代码中的DecryptWithPrivateKey详情。
关于URLEnCode,URLDeCode,Base64,公钥私钥
原文:http://www.cnblogs.com/takako_mu/p/3548010.html