加密解密库(Crypt Lib)。
XDL中收录与加解密相关的库包括:aes,des,arc4,rsa,md5,sha,dhm,asn,x509。AES是块加解密算法,区块长度固定为128比特,密钥长度则可以是128、192或256比特。DES也是块块加解密算法,区块长度为64比特,密钥长度为56位。3DES是DES更安全的算法改进,但DES已逐步被AES取代。ARC4是一种流加密算法,密钥长度可变。加解密使用相同的密钥,属于对称加密算法。RSA算法是一种非对称密码算法,需要一对密钥:公钥和私钥,公钥用于加密,私钥用于解密。RSA密钥至少为500位长,一般推荐使用1024位。RSA算法也是一个能同时用于加密和数字签名的算法,为数据安全传输和身份认证提供了便捷性。MD5是一种消息摘要算法,可以产生出一个128比特的哈希散列值,用于验证数据传输的完整一致性。MD5主要用于数字签名。SHA是一个密码散列函数家族,SHA-1可以输出160比特的哈希散列值,SHA-2可以输出224/256/384/512比特的哈希值。SHA和MD5一样主要用于数字签名,SHA在计算上比MD5费时,但在防碰撞性方面强于MD5。DHM(Diffie-Hellman算法)是一种解决密钥交换的方法,而不是加密方法,通常用于端对端传输对称加密体系的密钥。ASN.1即抽象语法标记,描述了一种对数据进行表示、编码、传输和解码的数据格式,在此用于x509证书数据格式的表达、存储和传输。x509一种通用的证书格式,它包含一些标准字段的集合,这些字段是有关用户或设备及其相应公钥的信息。
哈希散列库(Hash Lib)。
XDL中收录的哈希算法库包括:crc32,murmurhash,siphash。MD5、SHA都属于加密哈希函数,此处收录的是非加密哈希函数。CRC的全称是循环冗余校验,CRC32它可以把一个字符串哈希成32比特的值,虽然CRC的碰撞概率高,但它最大的优势是可以采用硬件简单实现。MurMurHash3可以输出128比特的哈希值,算法效率高,碰撞率低。SipHash可以输出64比特的哈希值,主要特点是可以有效减缓hash flooding攻击。
压缩库(Zip Lib)。
XDL中收录的压缩库包括:deflate,gzip,lzf,png,jpg。Deflae和gzip算法一致,是使用了LZ77算法和哈夫曼编码的一种无损数据压缩算法,gzip仅使用了deflate中的数据体部分,不处理压缩头部分。两者都常用于互联网协议中的数据压缩传输。LZF是采用lz77和lzss的混合编码的一种无损数据压缩算法,特点是速度快、能效高,常用于讲究节能的应用场合。png是沿用LZ77的一种无损图像压缩算法,jpg是有损图像压缩算法,两者都常用于位图压缩,jpg的压缩比更高,但是建立在牺牲图像质量的基础上的。
制码库(Code Lib)。
XDL中收录的制码库包括:code128,pdf417,qrcode。CODE128码是一种高密度一维条码,每个字符由3个条、3个空、11个单元构成,字符串可变长。PDF417是一种高密度、高信息含量二维条码,每一个字符由4个条和4个空共17个模块构成,最多可容纳1850个字符或1108个字节的二进制数据。QRCODE是一种矩阵二维码,它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码,可容纳数字数据7089个字符或字母数据4296个字符,而且具备全方位(360°)识读的特点。
网友评论