密码算法总结(推荐3篇)

密码算法总结 第1篇

裸编码在计算机中是一个非常常用的数据处理方式。从定义上来讲,所有按照一定规则,在不丢失二进制数据完整性,能在编码后求得原数据的方式,都叫做数据裸编码。

在实际应用中,我们见得最多的就是HEX编码和Base64编码。

HEX编码其实属于一种裸编码,目标是将二进制数组byte[]转为人类可读字符串的常用算法。

它的原理非常简单。

十六进制编码的原理是将二进制数据的每个字节转换成两个十六进制数字。十六进制数字是数字 0 到 9 和字母 A 到 F。每个十六进制数字可以表示 4 位二进制数据。所以,两个十六进制数可以表示8位二进制数据,相当于一个字节。

例如,二进制数据 10101010 将被编码为十六进制数字 A2。第一个十六进制数字 A 代表四位 1010。第二个十六进制数字 2 代表四位 1010。

Base64 是一种将二进制数据表示为可打印字符串的方法。它通常用于通过旨在传输文本的协议(例如 HTTP 和 SMTP)传输二进制数据。

Base64 编码的工作原理是将每组三个字节的二进制数据转换为四个字符的文本。这些字符选自一组 64 个字符,其中包括数字 0-9、字母 A-Z 以及字符 + 和 /。

例如,二进制数据 10101010 将被编码为字符 A2。前两个字符 A 和 2 代表二进制数据的前两个字节。第三个字符+,代表二进制数据的第三个字节。第四个字符 / 是一个填充字符,添加它是为了使编码数据成为四个字符的倍数。

密码算法总结 第2篇

非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。两种使用方法:

密码算法总结 第3篇

杂凑算法是将任意长的消息压缩成固定长度短消息的函数,具有抗碰撞性和单向性等性质函数的输出称为摘要值,或称摘要。杂凑算法的基本想法是让摘要值作为输入串的紧凑表示。

杂凑算法的抗碰撞性是指寻找两个不同消息,使二者的摘要值相同,在计算上是不可行的;或者对一个给定的消息,寻找另一个不同消息,使二者摘要值相同,在计算上也是不可行的。单向性是指从摘要值不能反向求出输入消息。

杂凑算法的作用很多,它可以用于数字签名:先对消息进行压缩后,再对摘要值进行签名,因为很长的文件不能一页一页地签名;它可检测消息的完整性,由摘要值判断消息是否被篡改;它用于口令的存储,利用单向性的特点,即使暴露了摘要值也不会暴露口令。

SM3算法是我国商用密码标准中的杂凑算法。SM3算法采用成熟技术设计,由简单运算的充分多次迭代实现,摘要值长度为256比特,算法速度快,适用性强,可用于数字签名、口令安全存储以及生成伪随机数等。