(我也学那些人,也来贴代码了……)

因为某IOS应用后台中要使用RSA加密,所以自己完成了下面这个RSA加密的过程。要用到PHP的openssl扩展。

首先在Linux下面用openssl命令生成私钥,利用私钥生成公钥。私钥为1024位。

加密过程主要就是将明文以117长度分割(因为1024位密钥最大只能加密长度为117的字符串),将他们连接起来,最后base64加密,便于网络传输。这里使用了url安全的base64加密,就是把+/两个符号替换成-_ ,尾部的=去掉,解密的时候再替换回来。因为传输过程中+会被转换成空格。

解密过程是先base64解密出来再分组进行RSA解密,最后连接起来字符串就是了。昨天晚上因为搞错一处的变量名,和服务器私钥加密后在客户端还是私钥解密,这两个问题搞到1点多也没发现,还是今天弄好的……

这个类主要是在构造的时候选择是用公钥还是私钥,因为考虑到服务器只用到了私钥所以就这么实现的,不知道好不好。

下面放码

下面写个小demo来测试这个类。

(千万不要在意上面那段文字呦。。。)

评论

电子邮件地址不会被公开。 必填项已用*标注

你可以使用以下 HTML 标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">