字符串base64编解码的多种语言实现

简介: 字符串base64编解码的多种语言实现

故事起源于逛v站的求职和招人贴,每次都是一长串字符,很迷惑,不知道是邮箱,还是微信号,还是钉钉,还是QQ。-


image.png


感觉像是base64,又感觉不像,因为我之前只知道图片能转成base64,没想到字符串也能转,群里一问,还确实是base64。


image.png


于是有趣的事发生了,同学们纷纷用自己最擅长的语言,把base64 字符串编解码实现了一遍...


image.png

我把小伙伴们用各种方式实现的方法整理下,有linux shell,javascript,node,python,php,java,.net。


1.shell (author: Peng Zhao)


解码:echo "a2FsZUBvdWNodGVhbS5jb20=" | base64 -d

编码:echo "kale@ouchteam.com" | base64


2.javascript (author: Kai Gao)



var encodedData = window.btoa('kale@ouchteam.com'); // 编码
var decodedData = window.atob("a2FsZUBvdWNodGVhbS5jb20="); // 解码
console.log(encodedData,decodedData)


3.nodejs (author: Kai Gao)



//base64编码
var  b = new Buffer('kale@ouchteam.com');
var s = b.toString('base64')
console.log("邮箱编码:"+s)
//base64解码
var b = new Buffer('a2FsZUBvdWNodGVhbS5jb20=',"base64")
var s = b.toString();
console.log("邮箱解码:"+s)


4.python (author: Peng Zhao)




import base64
base64.b64encode("kale@ouchteam.com")
base64.b64decode("a2FsZUBvdWNodGVhbS5jb20=")



5.php (author: Chuang Shen)


<?php
$a = 'kale@ouchteam.com';
    $b = base64_encode($a);//编码
    echo $b;
    $c = base64_decode($b);//解码
    echo $c;  
?>


6.java (author: Chuang Shen)


String str = "kale@ouchteam.com";
        String encodeStr = new String(Base64.encode(str.getBytes()));
        System.out.println(encodeStr);
        String decodeStr = Base64.base64Decode(encodeStr);
        System.out.println(decodeStr);


7..net (author: Peng Li)




static void Main(string[] args)
        {
            Console.WriteLine("输入:");
            var str = Console.ReadLine();
            //加密
            byte[] EncryptionByte = Encoding.UTF8.GetBytes(str);
            var EncryptionStr = Convert.ToBase64String(EncryptionByte);
            Console.WriteLine("加密结果:" + EncryptionStr);
            //解密
            byte[] DecryptionByte = Convert.FromBase64String(EncryptionStr);
            var DecryptionStr = Encoding.UTF8.GetString(DecryptionByte);
            Console.WriteLine("解密结果:" + DecryptionStr);
        }


哈哈哈 我的小伙伴们都太可爱了!

That's it ~

相关文章
|
2月前
火山中文编程 -- HEX编码与BASE64编码
火山中文编程 -- HEX编码与BASE64编码
13 0
|
3月前
|
存储 XML JSON
protobuf原理以及实例(Varint编码)
protobuf原理以及实例(Varint编码)
41 0
|
机器学习/深度学习 移动开发 安全
Base64编码和Python解码
Base64编码和Python解码
260 0
Base64编码和Python解码
|
前端开发 JavaScript
前端实现 base64 编码和解码
前端实现 base64 编码和解码
426 0
前端实现 base64 编码和解码
|
编解码 数据安全/隐私保护 Python
Python 中 base64 编码与解码
Python 中 base64 编码与解码
178 0
|
编解码 Go 区块链
Go语言实现Base64、Base58编码与解码
目录 1. 常见的编码 2. go语言实现base64的编码与解码 2.1 Base64编码原理 2.2 实现Base64的编码与解码 3. go语言实现base58编码与解码 3.1 base58的编码过程 3.2 base58编解码具体实现 4. 最后
336 0
Go语言实现Base64、Base58编码与解码
|
编解码 数据安全/隐私保护 数据格式
Base64编码,Base64在线编解码
在线工具https://oktools.net Base64编码https://oktools.net/base64 JSON格式化https://oktools.net/json Unix时间戳https://oktools.
1728 0
|
开发工具
新增2款开发工具:base64编码解码,unicode编码解码
最近由于工作需要,制定了一份底层通信协议,为了保证协议顺利传输任意内容,规定数据段必须采用base64编码,来规避其他字符对于协议解析的影响。然后就顺手为本站新增2款开发人员工具。 base64编码解码 体验地址:https://www.opengps.cn/Tools/Base64/Index.aspx unicode编码解码 体验地址:https://www.opengps.cn/Tools/Unicode/Index.aspx 原文地址: https://www.opengps.cn/Blog/View.aspx?id=382 文章的更新编辑依此链接为准。
1241 0
|
编解码 C++ 存储
Base64编解码(C++版)
  #include using namespace std;class ZBase64{public:    /*编码    DataByte        [in]输入的数据长度,以字节为单位    */    string Encode(const unsigned char* Data,...
1253 0