加解密方案

AES加解密 RSA签名

加密:
0.排序和加密方式
NSDictionary riskInfoDic = @{@”loginAccount”:@”admin”,
@”password”:@”12345678”,
};
排序结果
NSString
signStr = @”admin12345678”;

0.加密方式

用RSA SHA256加签方式对signStr进行加签

1.在解密的过程中 iv偏移量就是ASK

Image text

2.在对服务器返回的数据排序过程中 Treemap字典只排序第一层

Image text

下面是数据2层或多层的时候 只排序最外层
Image text

客户端私钥
—–BEGIN PRIVATE KEY—–
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKLLbA7Aghe4bf9q
exN929rmaZNZ4sLXxqn6zNugRKQ8R+BdxTYg9D8h2T+UWWY04kpjnGf6bTh+IdRE
tI7LmN2C6LZaetoHIa/mycD0PFWXIEsIMB+N46jy9rVdqMrgHB0VnGfEH494JrBf
fwHzp3FLE+OZ9zpsZG+UE1ki3B1/AgMBAAECgYA+gK+qMktAZDUHXZCHeUkSEGj0
hAxGFqZV2M8Se8Qe8m3+PMJc9+YO3yYT/Rcd4KwJN5lzanjIudSvNPnF4XF87aXO
O1Y6NEu8rPaOQGfxyq4NUHf1KcFbShybrgNyj3ii5w+eftTzZViE1OA3J3pdqnp1
wQBoHRwbspORew/24QJBANf4Z8TnktHXgHH1Q/y8cRDgNGVfEt6J17qvYt5FuTbT
l2/vI9j/W6AmW/zMqwwJ0Q4qwaAmQavvGRtKMiwnhckCQQDA9+CxU1QfuKp5YCAG
6+YLTvaFdi2xTIomMK1I4hi7qnQxCTPmXrWup5wjpb5g0GxxfS72o+4Nt86Ud3lj
Ok0HAkBTA6mndzfpLwOxSgxrDmgLi5K4UHYpUiS5HodLVtOdrnFsViiaVXV7tqLv
JiCtTOytnGO20l213/7vjXKBpGN5AkEAqvz6hSapbFJd/J9IwdlWRr75gtltM6X2
5FBNvD9cWy53NtxIuOFDbDfpC01anL8S2J1sd/BaiJ1O2A/l6B9JEQJBAKwC8Rkm
L7aYsNOLi0+xgmQ5V462wvkfWRxndJ77CAGIHvHhAH6npifTmmbNVdONXE5wIg8F
/qe6o9wAILWJVTo=
—–END PRIVATE KEY—–

客户端公钥
—–BEGIN PUBLIC KEY—–
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiy2wOwIIXuG3/ansTfdva5mmT
WeLC18ap+szboESkPEfgXcU2IPQ/Idk/lFlmNOJKY5xn+m04fiHURLSOy5jdgui2
WnraByGv5snA9DxVlyBLCDAfjeOo8va1XajK4BwdFZxnxB+PeCawX38B86dxSxPj
mfc6bGRvlBNZItwdfwIDAQAB
—–END PUBLIC KEY—–

待签名,验签原始内容 (字符串)
loginAccount=admin&password=12345678

签名结果sigin:
cfq>>>>CT4S6WodJC0WsbehFUcr6PysIJT4QOu0APJXwoTrl1hRDsIKfqDs9HCamZDP3/kXCQ3B7m9JfD4OMC7ycQ65VXl8vi4Wrpo+AZdKNrL2iHsaeCacktIOLM+rBnVIe5rz0CloniTpENVRpNFuvBbbaeWfICVUm1ourCAWcKhaDp4=

“{\”loginAccount\”:\”admin\”,\”password\”:\”123456\”}”

“{\”loginAccount\”:\”admin\”,\”password\”:\”123456\”,\”sign\”:\”cPISDCDwTeKWClWragmc1/YlNhpmoUjDkETofGYOp8ps8ZDAeNFRwIJzBp/Q5BPuKS71Mt9Uzr5ggXj1m0YxnqEE2+eGl0pRY1xpAqn706+frrJ4IZD1KeDzq+YCna4aQZQOyagDeLYWtkA5PXZAGIDEVNFbCNq1mM+nfdQ/x6A=\”}”