网站首页 > 技术文章 正文
接口自动化中一般都会遇到密码加密的情况,有时候我们会找开发解决。其实测试工程师也是可以自己解决的,松勤软件测试下面就给大家介绍一下请求中加密的方式和应用。
MD5加密特性与加密处理
对称加密算法: 加密和解密使用同一个密钥-----单密钥加密DES、 AES
不对称加密算法:加密和解密使用不同的钥-----(公钥,私钥)---安全性高 RSA
哈希算法:MD5 SHA256
md5可以把明文加密成密文,但是不可以把密文解密成原来的明文
密码加密后把密文存在数据库中,要判断输入的密码是否正确时,只需要对输入密码经过相同的md5加密,验证两次加密结果是否相同就可以了
如何防止破解
md5不能解密,那么如何破解呢?
其实md5的弊端非常明显,那就是同一个明文每次加密得到的密文都是一样的,例如对123456加密得到的结果是:
e10adc3949ba59abbe56e057f20f883e
那么我们只要跑一次加密就可以知道密文对应的原文是什么了
1、MD5+固定盐值
原理 对原来的明文拼接一个字符串,再进行加密,如果这个字符串不泄露,那么就密文就是安全的;md5加固定盐值是多次加密的原理是一样的,只要固定盐值也泄露了,那么也就意味着被破解了
2、 MD5+随机盐值
如果每个用户加密使用的盐值都是不一样的,那么黑客就无法一下子破解全部的密码,每破解一个用户的密码,都需要按盐值暴力跑加密,直到密码被找到,这大大提高的破解的时间
这样,某个用户的盐值泄露了,不会影响其它用户,即使所有用户的盐值都泄露了,黑客也需要非常长的时间才可以全部破解
RSA数据加密与验签流程
1、RSA简介
RSA加密是一种非对称加密算法,用于在不直接传递密钥的情况下完成解密,确保信息的安全性,避免直接传递密钥可能导致的破解风险。
RSA加密使用一对密钥进行加解密,分别称为公钥和私钥,两者之间存在数学相关性。该加密算法的原理基于对极大整数进行因式分解的困难性来保证安全性。通常情况下,个人保存私钥,而公钥是公开的,可能同时由多人持有。
2、RSA加密和签名的区别
加密和签名都是为了保证安全性,但有略微不同。经常有人混淆加密和签名所使用的是私钥还是公钥,实际上这是对加密和签名的作用有所混淆。简单来说,加密是为了防止信息被泄露,而签名是为了防止信息被篡改。
3、RSA的加密过程如下:
甲生成一对密钥(公钥和私钥),私钥不公开,由甲自己保留。公钥是公开的,任何人都可以获取。
甲使用自己的私钥对消息进行签名,生成签名,并将带有签名的消息和消息本身一起传递给乙。
乙收到消息后,使用甲的公钥进行验签。如果验签结果与消息本身一致,就证明消息是甲发送的。
在这个过程中,只有两次传递过程。第一次是甲将带有签名的消息和消息本身传递给乙,第二次是乙获取甲的公钥。
即使这两次传递都被敌方截获,也没有危险性,因为只有甲的私钥才能对消息进行签名,即使知道了消息内容,也无法伪造带有签名的回复给乙,从而防止了消息内容的篡改。
在实际应用中,通常会同时使用加密和签名。例如,甲和乙都拥有一套自己的公钥和私钥。当甲要给乙发送消息时,先使用乙的公钥对消息进行加密,然后使用甲的私钥对加密的消息进行签名,从而既防止了消息内容的泄露,又防止了消息内容的篡改,更加保证了信息的安全性。
结论:甲和乙各自拥有一套公私钥,公钥用于加密,私钥用于解密,私钥用于签名,公钥用于验签。
大家读完了这篇文章是不是已经对“自动化中MD5和RSA加密”有了一个比较深入的了解了,如果还有疑问,可以评论区提出来哦!
- 上一篇: 小白开发iOS系列:如何进行MD5加密
- 下一篇: md5加密解密原理,以及MD5有哪些用途
猜你喜欢
- 2024-09-27 MD5 到底算不算一种加密算法? md5是数据加密算法吗
- 2024-09-27 在网站开发时你还是只用md5加密密码吗?
- 2024-09-27 通过一次安全处理暴露的问题 通过一次安全处理暴露的问题的英文
- 2024-09-27 加解密与HTTPS(3) 加解密服务器通讯异常
- 2024-09-27 Qt怎么使用MD5加密 md5在线加密解密工具
- 2024-09-27 Java加密体系(MD5算法) javamd5密钥加密解密
- 2024-09-27 Swift版StringExtention方法MD5加密
- 2024-09-27 浅谈MD5加密算法,头条官方工程师就是依此内容查重(小白勿进)
- 2024-09-27 用MD5加密为何不再安全了 md5加密后的值是唯一的吗
- 2024-09-27 openssl md5算法——Linux下(字符串加密、文件加密)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)