RSA加密在移动端与服务器通信中的应用

由于项目需要,客户端在与服务端通信时,一些关键信息不能通过明文传输,需要将其进行加密,以防他人通过抓包工具截获业务通信信息后,从中捣乱。

设计思路是使用RSA加密。服务端生成RSA的密钥对;将公钥发给客户端;客户端使用该公钥对关键信息进行加密后,再将关键信息发送给服务器;服务器收到关键信息后,使用私钥进行解密,然后通过甄别解密后的关键信息,从而判定是否是真实有效的客户端用户。

服务端的工作:

1.用OpenSSL::Pkey::RSA.new出RAS的密钥对:公钥、私钥;生成后的公钥形式如下:

"-----BEGIN PUBLIC KEY-----\n
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr4FshqahW+GI3kKAkzFm\n
yQbYTYZ3w5XUE8hoRY85QG5tXcFNhTaqEskXxQptrBqOHqzbSyoUl2EBBubv57wO\n
ElatAJm6SNSCL4NgcfaSDLQ/w61+HkARwimcAE7/BWJR8M151hYyiCZo8FyORyP2\n
vUWk7/z1SQRifZYj0RcwHo02rd8JFMyee72S6C8z8hvXqao2XCtvUH49M9tOoDzT\n
j2F98JKiUN4535wHFH9IXXqYVMzQlOkbArLFbUH0aZ4IzwPF7Cmh4Mv0SSlxXjha\n
RrwywG3017IF8UFru5ZltYTbbqHqlzbt734sc38JkmjvDfX01KLdch+uYUTDrUEf\n
6wIDAQAB\n
-----END PUBLIC KEY-----\n"

2.处理这个公钥字符串,这个工作也可以放到客户端进行。要注意的是,除了去除开始行和结束行外,中间部分的公钥字符串里其实是自动包含了不少换行符“\n”的,这些换行符也一定要去掉。

客户端的工作:

1.处理从服务端收到的公钥字符串(String):

1.1去除公钥字符串的开始行和结束行以及换行符:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值