浅谈加密算法

Part 01 什么是浅谈加密算法
加密算法是一种密码学算法,就是加密指将信息变成密文的加密技术,加密算法可以实现对数据所属方的算法隐私保护 ,并在保护隐私的浅谈前提下 ,实现数据的加密匿踪共享 。通过加密算法可以达到:数据保密性,算法防止用户数据被窃取或泄露; 数据完整性,防止用户传输的数据被篡改;通信双方身份确认,确保数据来源合法的功能。
常见加密算法分为不可逆算法和可逆算法,浅谈其中可逆算法分为对称加密和非对称加密算法,建站模板加密整体加密算法分类如图1所示。算法

Part 02 不可逆算法
不可逆算法的浅谈加密是不可逆的 ,加密后的加密密文是无法被还原成原文。其中散列算法 ,算法就是浅谈一种不可逆算法。
散列算法是加密指明文通过散列算法生成散列值 ,散列值是算法长度固定的数据,云计算和明文长度无关,算法过程如图2所示 。常见散列算法的具体实现有很多种,例如MD5、SHA1、SHA-224 、SHA-256等等。散列算法是不需要密钥的 ,当然也存在一些其他不可逆算法是需要密钥的 ,例如HMAC算法。
图 2
1 、MD5,亿华云全称为“Message-Digest Algorithm 5”,翻译过来叫“信息摘要算法” 。它可以将任意长度的数据通过散列算法,生成一个固定长度的散列值。MD5算法的输出长度为128位 ,通常用32个16进制数表示 。MD5有一些优点,比如计算速度快 、输出长度固定 、应用广泛等等 。但是作为一个加密算法 ,它有一个天大的源码下载缺点 ,那就是不安全 。目前MD5算法已经被攻破,而且MD5算法的输出长度有限 ,攻击者可以通过暴力破解或彩虹表攻击等方式,找到与原始数据相同的散列值,从而破解数据。虽然可以通过加盐,也就是对在原文里再加上一些不固定的字符串来缓解,但是完全可以用更安全的服务器租用SHA系列算法替代 。
2、SHA(Secure Hash Algorithm)系列算法是一组密码散列函数,用于将任意长度的数据映射为固定长度的散列值 。SHA系列算法由美国国家安全局(NSA)于1993年设计,目前共有SHA-1 、SHA-2、SHA-3三种版本 。其中SHA-1系列存在缺陷,已经不再被推荐使用。SHA-2算法包括SHA-224 、SHA-256 、SHA-384和SHA-512四种散列函数 ,模板下载分别将任意长度的数据映射为224位、256位、384位和512位的散列值。
3 、上述两种算法,SHA-2算法比MD5强 ,主要有两个原因 :
(1)散列值长度更长 :例如SHA-256算法的散列值长度为256位,而MD5算法的散列值长度为128位 ,这就提高了攻击者暴力破解或者彩虹表攻击的难度 。
(2)更强的碰撞抗性