本文目录一览:
黑客常用网名
黑客常用的网名:
1、随风而歌
2、适合黑客的昵称
3、黑客名字霸气英文
4、黑客乱码网名
5、第一欣然起行网名
6、昵称岁月的伤世界
7、霸气温柔似水头像
8、全球满篇蜜语甜言
9、网名我强忍住泪水
10、世界而意外的是乱码
11、头像有人说过世界级
12、顶级就像这场梦最厉害
13、英文夜晚22:25
14、乱码两侧山峰夹峙顶尖
15、世界级当春乃发生最可怕
16、最厉害一时间个性签名
17、最酷温暖的适合
18、顶尖顶情略七斗名字
19、最可怕有谷子排名
20、个性签名雨不停地下着大全
测试那些事儿(十三)- 签名和验签、公钥和私钥、加密和解密
在做接口测试时,大家一定都遇到过需要提供签名的场景。这时,我们就会被各种名词比如 签名和验签、公钥和私钥、加密和解密 冲击。所以,了解一下它们很有必要,可以帮助我们知道为什么要这么做,而不是简单的去当一个验证执行者。甚至,在你了解了它们之后,你也可以在接口的安全性测试上更进一步。
数字签名其实就是一个别人无法仿造,能够证明申请者真实性的一段字符串。 我们在真实生活中,最常用的签名应该就是手签我们的姓名了。
所以,在接口请求时,很多接口也不是你来一个请求我就给你返回你要的数据,而是要验证你的签名,进而证明你的身份后才能做出后续动作。在此过程中,接口调用者需要进行的工作就叫做 签名 ,而被调用者需要进行的工作就叫做 验签 。
公钥 :由接口被调用方提供,RSA 密钥体系中对外公开的部分,通常用于数据加密、验证数字签名。
私钥 :由接口被调用方提供,RSA 密钥体系中非公开的部分,需由接口调用方严密保存,通常用于数据解密、数据签名。
这个就很好理解了,传递数据时为了保证数据的安全性,不进行明文传递,而是通过某种算法对敏感数据进行 加密 ,传递后再由接收方使用对应算法进行 解密 来获取明文信息。
将上面的定义总结为图,会更加的清晰:
之所以用发送方的私钥加签,是因为,即便信息被黑客拦截,黑客修改了信息,但是加签需要用发送方的私钥,黑客没有发送方的私钥,所以也无法生成正确的签名,接收方验签就不用通过。
反之如果用接收方的公钥加签,如果信息被黑客拦截,黑客修改了信息,因为接收方的公钥是公开的,黑客就可以重新生成新的签名,替换原有的签名,发送出去,接收方接收到信息,拿自己的公钥校验是通过的,所以接收方无法辨别信息是真正的发送方还是黑客发送过来的,这样的加签不能辨别信息是否被篡改过。
之所以用接收方的公钥加密,是因为,如果信息被黑客拦截,需要用接收方的私钥来解密,黑客无法获取接收方的私钥,即便拦截了信息(情报),黑客也无法看到明文,只能看天书?了。
反之,如果用发送方的私钥加密,如果信息被黑客拦截,因为发送方的公钥是公开的,黑客就可以用发送方的公钥解密密文获得明文,这样的加密所有的人都可以看到明文,不能保证信息的隐私。
了解了以上这些知识,在测试过程中就可以更加深入的了解签名的目的,进而可以更深入的了解签名的实现等。签名的实现有很多种,这个要根据每个团队选择哪种具体分析,但作为测试,基本上我们都是可以按照约定的规则来生成的,这也帮助我们扩展了接口测试覆盖的广度(如接口用例覆盖度、过期时间等隐藏功能),是非常有意义的。
加密和签名的区别
加密是对信息的加密,比如A给B发消息则会使用b的公钥加密,发送后只能使用B的私钥才能解密。
签名,是给信息加个身份,是由谁发送的。一般用私钥生成。A给B发送,A使用自己的私钥签名,B收到后用A的公钥解密,来确认是不是A发的。
对称加密:是加密解密使用相同的密钥。
优使用简单快捷高效。
缺加密强度不高,密钥分发困难
DES采用替换和移位,密钥56位,每次对64位数据块加密。
3DES使用两个密钥K1,k2,
加密时k1加密,k2解密,k1加密
解密时k1解密,k2加密,k1解密
rc-5:rsa 数据安全公司很多产品使用了rc-5
idea:密钥是128位每次对64位数据块加密。
非对称加密:一个公钥一个私钥
优:解决了加密强度不高,密钥分发困难的问题
缺:加密速度慢
rsa:512位密钥,计算量大,难破解。
ecc:椭圆体制曲线密码
信息摘要:一份长文件的数字指纹,可以用于创建数字签名
md5 128位散列值
sha 160位散列值
md5+salt
简单的md5密码加密,黑客可以通过密码md5比较,可以轻松试出密码。
如果加上salt,密码加密之前拼接上salt,之后再散列。
黑客用自己密码和salt值试,就很难找到密码。
有哪些别具一格的英文句子,适合做个性签名?
我的签名是 Lust of knowing what should not be known。一直觉得太直白了。但是由于字数限制并不能换成“We take the golden journey to Samarkand”。这两句话出自James Flecker的长诗《The golden journey to Samarkand》,描述了中世纪时一个欧洲商人想去位于中东的传说中的黄金之城Samarkand行商。当说道为什么想这么做时,商人说:We travel not for trafficking alone;By hotter winds our fiery hearts are fanned。For lust of knowing what should not be known,We make the Golden Journey to Samarkand.为了知晓不被允许知晓之事,是所谓“朝闻道,夕死可矣”。
报文加密和签名设计
数据信息安全对我们每个人都有很重要的意义,从接触互联网起,我就明白了数据的重要性,我对数据安全的要求极其高,毫不夸张的说我的电话从来没有接过推销和骚扰电话,我本人很讨厌这种事情,对买卖数据和泄露数据的事情比较痛恨,自从做了金融以后,我对数据安全的认识又有了新的认识,接过几家支付通道后,对支付方面的业务有了了解,根据业务需要我开始写支付外放接口,说实话安全设计很让我头痛,最初使用的方式是对报文进行 MD5 加密,并得出一个签名串, 签名串=MD5(原文密钥) ,如果黑客截取报文,并篡改报文,那么服务端进行验签的时候,将不会通过,因为报文变化了,算出的签名串会改变,那么黑客需要重新计算出签名串,要算出签名串,需要知道加密规则,密钥,这种方式虽然保证了安全,但是存在一个问题,报文是暴露的,黑客并不更改数据,他只是记录保存你暴露的数据,这样也是非常危险的,经过借鉴和学习采用了另一种解决方案, 为保证接口调用过程中报文的完整性,报文使用 MD5 签名算法,为保证接口调用过程中对用户的敏感信息的保护,对涉及用户敏感信息(如账号,名称,手机号等)的域进行 AES 加密 。
采用 MD5(data+"key="+md5Key).toUpperCase() 方式签名,其中: md5Key 为自己规定的 MD5 签名密钥。最后将获取到的签名串转换为大写。设所有发送或者接收到的数据为集合M,将集合M 内非空参数值的参数按照参数名 ASCII 码从小到大排序( 字典序),得到字符串,使用 URL 键值对的格式( 即 key1=value1key2=value2 … ) 拼接成字符串 data 。在 data 最后拼接上 key 并对其进行 MD5 运算,再将得到的字符串所有字符转换为大写,得到签名值。
AES 加密模式为 "AES/ECB/PKCS5Padding" ,待加密数据使用 AESKey 加密之后做 Base64 得到加密数据。 AESKey 长度为16 位,由26个字母和数字组成。
博客原文地址: 报文加密和签名设计