1. 接口加密
1.1 接口加密介绍
目的 : 为了保证接口请求调用中传递参数, 返回结果, 数据的安全性 ; (http请求, 默认传递的参数都以明文进行传递);
抓包工具 : fiddler , Wireshark ;
1.2 摘要算法
散列算法 , hash算法 ----------> MD5 , SHA-256 ;
特点 :
1). 不可逆 ; 只能加密 , 不能解密 ;
2). 无论明文长度多长 , 加密之后得到的密文长度永远固定 ;
3). 可以使用穷举法进行破解 ;
123456 e10adc3949ba59abbe56e057f20f883e
111111 e10adc3949ba59abbe56e23892830294
654321 e10adc3949ba59abbe56e05238928943
123123 28372237873273728734827847287482
4). 解决方案 : 加盐;
1.3 对称加密
1.4 非对称加密
这两把钥匙 , 是成对出现的 ;
1.5 数字签名
目的 : 为了验证消息在网络传输的过程中, 有没有被别人篡改过 ;
应用场景: 在令牌中(jwt) , 支付接口调用(微信, 支付宝) ;
1.6 OpenSSL生成密钥对
RSA 算法 ;
生成私钥 : openssl genrsa -out ../mycerts/rsa_private_key.pem 2048
生成公钥 : openssl rsa -in ../mycerts/rsa_private_key.pem -pubout -out../mycerts/rsa_public_key_2048.pub
私钥格式转换 : openssl pkcs8 -topk8 -inform PEM -in ../mycerts/rsa_private_key.pem -outform PEM -nocrypt > ../mycerts/rsa_private_key_pkcs8.pem