Base64编码在开发中应用

来源:互联网 发布:网络新技术课程介绍 编辑:程序博客网 时间:2024/06/09 19:20

如果对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.js"></script>
<script type="text/javascript" src="js/jquery.base64.js"></script>

调用的方法

console.log($.base64.encode('张三李四王五'));
console.log($.base64.decode('5byg5LiJ5p2O5Zub546L5LqU'));
0 0
原创粉丝点击