?php 和 java .net對接加解密正林,rsa方式
? ? 最近和.net的程序員對接接口,加解密用的是rsa的方式進(jìn)行加解密颤殴,中間遇到許多坑觅廓,搞了足足兩三天,怎么搞都不行诅病; 大家都知道哪亿,rsa加解密無非就是用公鑰加密私鑰解密粥烁,或者私鑰加密公鑰解密; php的openssl如果用公鑰加密的話蝇棉,每次生成同一字符串的rsa的結(jié)果是不同的讨阻,但是都可以用私鑰解密出來,這個(gè)因?yàn)橛袀€(gè)填充篡殷,每次隨機(jī)填充導(dǎo)致每次生成的結(jié)果都不同钝吮; 但是.net每次生成的都是一樣的,這就很蛋疼板辽,一樣的加密方式奇瘦,用的一樣的公鑰私鑰,我生成的他解不出來劲弦。耳标。他生成的我識別不了。
最后問了問java的小伙伴邑跪,問他根據(jù)公鑰生成字符串每次會變化嗎次坡,他說不會變; 后來研究研究php的openssl的函數(shù)画畅; 得出結(jié)果砸琅,因?yàn)橛刑畛洌圆艑?dǎo)致他每次都會變化轴踱,于是把填充干掉症脂;上菜
1、首先要生成一個(gè)rsa的公私鑰
? ? ? 首先d函數(shù)只是自己封裝的一個(gè)打印函數(shù)而已淫僻,可以不用在意诱篷; 這樣我們就生成一個(gè)公私鑰; 可以把他存pem文件里面或者寫在配置文件里面都可以嘁傀;
? ? ? ?先說一下兴蒸,在php中加解密的方式
? ? ? ?這樣在php中是可以完美運(yùn)行,但是在和其他語言對接的時(shí)候就蛋疼了
? ? ? 其次進(jìn)行生成不變化的字符串
看看用什么方式 base64啥的自行解決细办,如果不出意外的話,這樣是可以滿足需求的
蛋疼蕾殴。笑撞。。钓觉。茴肥。。