免费建设小学校网站,wordpress评论不审核,wordpress 添加百度统计,电脑安装手机wordpress支付安全
1.基础概念 明文#xff1a;加密前的消息叫“明文”#xff08;plain text#xff09; 密文#xff1a;加密后的文本叫“密文”#xff08;cipher text#xff09; 密钥#xff1a;只有掌握特殊“钥匙”的人#xff0c;才能对加密的文本进行解密#xff0c;…支付安全
1.基础概念 明文加密前的消息叫“明文”plain text 密文加密后的文本叫“密文”cipher text 密钥只有掌握特殊“钥匙”的人才能对加密的文本进行解密这里的“钥匙”就叫做“密钥”key “密钥”就是一个字符串度量单位是“位”bit比如密钥长度是128就是16字节的二 进制串 加密实现机密性最常用的手段是“加密”encrypt) 按照密钥的使用方式加密可以分为两大类对称加密和非对称加密。 解密使用密钥还原明文的过程叫“解密”decrypt
加密算法加密解密的操作过程就是“加密算法” 所有的加密算法都是公开的而算法使用的“密钥”则必须保密 2.对称和非对称加密
对称加密
特点只使用一个密钥密钥必须保密常用的有AES算法优点运算速度快缺点秘钥需要信息交换的双方共享一旦被窃取消息会被破解无法做到安全的密钥交换 非对称加密
特点使用两个密钥公钥和私钥公钥可以任意分发而私钥保密常用的有RSA优点黑客获取公钥无法破解密文解决了密钥交换的问题缺点运算速度非常慢 混合加密
实际场景中把对称加密和非对称加密结合起来使用。 3.身份认证 公钥加密私钥解密的作用是加密信息 私钥加密公钥解密的作用是身份认证 4.摘要算法 摘要算法就是我们常说的散列函数、哈希函数Hash Function它能够把任意长度的数据“压缩”成固定长度、而且独一无二的“摘要”字符串就好像是给这段数据生成了一个数字“指纹”。 作用 保证信息的完整性 特性
不可逆只有算法没有秘钥只能加密不能解密难题友好性想要破解只能暴力枚举发散性只要对原文进行一点点改动摘要就会发生剧烈变化抗碰撞性原文不同计算后的摘要也要不同
常见摘要算法 MD5、SHA1、SHA2SHA224、SHA256、SHA384
举个简单例子 public static void main(String[] args) {try {MessageDigest messageDigest MessageDigest.getInstance(MD5);// 反复调用update输入数据:messageDigest.update(aa.getBytes(StandardCharsets.UTF_8));byte[] result messageDigest.digest();System.out.println(new BigInteger(1, result).toString(16));} catch (NoSuchAlgorithmException e) {e.printStackTrace();}}摘要算法的应用
下载软件校验彩虹表问题
数据安全性 当然上面的操作也有问题的。如果黑客获取到了明文然后修改内容后重新生成了摘要。替换了原来的摘要。然后把信息传递到了李四处李四根据hash得到的摘要和传递的摘要比较发现是一样的。但是其实数据是已经修改过的了。这也就产生了数据安全问题。针对这个问题我们就需要通过数字签名来解决这个问题了。
数字签名 针对上面的问题我们可以对生成的摘要通过私钥加密处理。然后拼接在传递信息中。然后在服务器中根据公钥解密得到的摘要和正常的明文hash后的摘要信息比较是否相同如果相同就认为是正确的。 上面的处理中。细心的小伙伴会发现其实公钥是很容易获取的黑客伪造了公钥然后你又从伪造网站获取到了公钥。这时就有问题了。 数字证书 数字证书解决“公钥的信任”问题可以防止黑客伪造公钥。不能直接分发公钥公钥的分发必须使用数字证书数字证书由CA颁发.
CA证书认证机构 服务器向CA申请数字证书需要提交相关的信息给CA机构。然后CA机构通过如下操作生成数字证书返回给你申请者 在这个数字证书中包含的有申请者的公钥信息。然后申请者在传输信息时就会携带改数字证书。 完整的处理流程
数字证书案例-----https协议