当前位置:   article > 正文

常用加密算法_包含大小写的加密方式有哪些

包含大小写的加密方式有哪些

常见加密算法


编码

ASCII编码

用一个字节(7个或8个二进制位) 定义了128个字符 (96 个可打印字符, 32 个控制字符)

英语中用128个符号编码便可以表示所有

几个常见字母的ASCII码: “0-9”为 48-57; “A-Z”为65-90;“a-z”为97-122;

unicode编码

想要用固定字节, 将世界上所有的符号都纳入其中

  • 缺点
    英文用一个字节就够了,被迫用多个字节
UTF-8

根据不同的符号自动选择编码的长短, 英文用一个字节,汉字用两个

url编码

浏览器URL只能使用英文字母、阿拉伯数字和某些标点符号,
网址要使用汉字只能编码后使用

url编码其实就是一个字符ascii码的十六进制, 前面加上“%”
“\”的url编码就是%5c

Base32/64/58

基于32/64/58个可打印字符来表示二进制数据的方法
就是把 二进制 --转换为–> 字符

base32的编码表是由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充。
base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充。
base58的编码表相比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/’

1234567 --base32编码–> GEZDGNBVGY3Q====
特征:大写字母和数字,不满5的倍数,用‘=’补齐。
1234567 --base64编码–> MTIzNDU2Nw==
特征:大小写字母和数字,不满3的倍数,用‘=’补齐。
1234567 --base58编码–> 2s8YYFs4Vc

算法位数加密后字符特点/用途
base16原先的2倍数字0-9,大写字母A-F就是16进制转ASCII
base32原先的8/5倍大写字母(A-Z)数字234567字符不足用“=”补齐
base64转换后比原有的字符串长1/3大写字母(A-Z),小写字母(a-z),数字(0-9)以及+/字符不足用“=”补齐
ROT5数字(0-9)只对数字进行编码,用当前数字往前数的第5个数字替换当前数字:0>5, 1>6

对称加密算法

使用同一套密钥进行加密和解密

P:明文
C:密文

DES

  • 参数
    • 密钥key 7个字节(56位)
    • 数据data 8个字节(64位)
  • 加密方法EncodeKey
    C=Ek( P )
  • 解密方法DecodeKey
    P=Dk( C )

3DES

  • 参数
    • 密钥 3个7字节的key
  • 加密方法
    C=Ek3( Dk2( Ek1( P ) ) )
  • 解密方法
    P=Dk1( EK2( Dk3( C ) ) )

SM1

国密 硬件实现

SM4

国密 软件实现

AES

密钥名称128、192、256位

RC5

IDEA

Blowfish


非对称加密算法

每个密码以私钥(secret key)和公钥(public key)成对出现,
公钥加密,私钥解密,反之亦然
相对于对称加密,速度很慢,一般不用于加密,而是秘钥交换

SM2

国密

RSA

Rabin

El Gamal

椭圆曲线算法(ECC)


摘要算法/ 单向加密/ 散列加密/ 哈希算法

只能加密不能解密

MD5

输出长度为 128bits 的一个串 (通常用 16 进制 表示为 32 个字符)
由数字“0-9”和字母“a-f”所组成的字符串

  • 每次加密后的密文其实都是一样的,这样就方便了MD5通过大数据的方式进行破解。

SM3

国密

MAC

带秘密密钥的Hash函数

兼容了MD和SHA算法的特性,并在此基础上加上了密钥

SHA-1

40个字符

SHA-2(SHA-224、SHA-256、SHA-384,和SHA-512)

SHA-3

SCrypt算法

核心思想是“哈希计算需要更大的内存空间和时长”

追求更大的内存消耗和计算时间,以有效阻止ASIC专用矿机。

BCrypt 算法

生成的密文是60位

主要是能实现每次加密的值都是不一样

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/562030
推荐阅读
相关标签
  

闽ICP备14008679号