记录几种常用编码方式:BASE64、MD5

1. BASE64

1.为什么要使用BASE64编码?

从编码方式上可以看出,Base64并不是一种真正意义上的加密算法,但经过编码也使得信息有了初级的加密效果。
之所以使用Base64编码是因为在一些系统中只能使用ASCII字符,计算机ascii码的128~255之间的值是不可见字符。为了使得信息在不同设备上能够正常显示,把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大大降低了。Base64特别适合在http,mime协议下快速传输数据。
参考链接:
一篇文章彻底弄懂Base64编码原理
在线工具:Base64加密、解密 - 站长工具

2. C语言实现

C语言实现Base64编码/解码

2. MD5

2.1. 主要特点

1、长度固定。128bit的二进制数据,与原始数据长短无关。通常以16进制形式表示,即128/4=32
2、确定性。一个原始数据的MD5值是唯一的。
3、碰撞性。有可能多个原始数据计算出来的MD5值是一样的。
4、不可逆性。无法通过MD5值还原出原始数据。可参考第三点。

2.2. C语言实现

代码贴在前面:MD5算法C语言实现:亲测可用,感谢博主。

从测试代码main.c中可以看出,实际调用了三个函数即可:

//初始化核心变量,装入标准的幻数
int MD5_Init(MD5_CTX *c);
// 循环调用此函数,可以将不同的数据加在一起计算MD5,成功返回1,失败返回0
int MD5_Update(MD5_CTX *c, const void *data, size_t len);
// 输出MD5结果数据,成功返回1,失败返回0
int MD5_Final(unsigned char *md, MD5_CTX *c);

MD5算法步骤详解:文末有验证示例。
代码注释:md5加密算法c实现,七分注释

在线工具:MD5在线加密 - 站长工具


MD5算法 - 知乎
算法:MD5算法原理说明
漫画趣解MD5算法
MD5算法详解
MD5_百度百科

3.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值