【网络安全】加解密算法最详解
数据签名、加密是前后端开发经常需要使用到的技术,应用场景包括不限于用户登入、数据交易、信息通讯等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法来达到业务目标。常用的加密算法有: 对称加密算法; 非对称加密算法; 哈希算法,加盐哈希算法(单向加密); 数字签名。 使用加密签名算法,可以达到下面的安全目标: 保密性:防止用户的数据被读取; 数据完整性:防止数据被篡改; 身份验证:确保数据发自特定的一方。 对称加密 # 对称加密算法加密和解密时使用同一把秘钥。操作比较简单,加密速度快,秘钥简单。经常在消息发送方需要加密大量数据时使用。缺点是风险都在这个秘钥上面,一旦被窃取,信息会暴露。所以安全级别不够高。常用对称加密算法有DES,3DES,AES等。在jdk中也都有封装。 DES # DES的秘钥为8个字节,64个bit位。(不适应当今分布式开放网络对数据加密安全性的要求)在Java进行DES、3DES和AES三种对称加密算法时,常采用的是NoPadding(不填充)、Zeros填充(0填充)、PKCS5Padding填充。 一个DES的列子: Copy import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory;