如果对base64不了解的话,可以在google中搜索一下base64概念,有太多的介绍。在这里只是总结一下自己对base64的理解。
在以前,对base64的理解只不过是在eml文件中,在文件中,有base64编码的内容。base64是一种编码算法,base64的编码是可逆的,不能用于密码加密,因为太不安全,但可以编码其它的内容,如用户登录ip地址,用户名等内容,如果需要对密码加密,还是使用md5比较好,可以看这篇文章MD5加密的安全性。然后就是base64编码可以使内容肉眼不可读。
直到最近,又发现了base64的一个应用。最近参与二次开发了一个程序,程序有一个功能是通过秘钥加密内容,然后再对内容进行base64编码,然后传输到服务端。服务端接收到数据,首先base64解码,然后通过秘钥解密。还原成真实的内容,请求服务器的内容,在这里使用了对称加密,也不知道安全不安全。然后服务器再以同样的编码加密方式返回给用户程序,然后程序再进行类似的操作处理。我明白了为什么使用秘钥加密解密,但是为什么还使用base64编码解码,原来主要原因是压缩内容!
还有其它的应用吗?暂时还没有接触到
在.net中使用base64编码很简单,只需要使用下面的代码就可以实现:
public static string Base64Encode ( string plainText )
{
var plainTextBytes = Encoding . UTF8 . GetBytes (plainText ) ;
return Convert . ToBase64String (plainTextBytes ) ;
}
//解码
public static string Base64Decode ( string base64EncodedData )
{
var base64EncodedBytes = Convert . FromBase64String (base64EncodedData ) ;
return Encoding . UTF8 . GetString (base64EncodedBytes ) ;
}
在js中,如果需要使用base64编码,那么就需要自己写算法。好消息是已经有人写出了算法,在google上搜索就可以搜索到。我们只需要调用方法名就可以了。但是更简单的是使用jquery base64插件,我们只需要引用文件,然后就可以像如下的方式调用方法了,并支持中文。
引用的文件
<script type = "text/javascript" src = "js/jquery.base64.js" ></script >
调用的方法
console. log ($. base64. decode ( '5byg5LiJ5p2O5Zub546L5LqU' ) ) ;