本身js代码没有问题已测试多次
var key= "-----BEGIN PUBLIC KEY-----
\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1eJWZPPhBeXKKQvXg1g7yVP8o
\nV*FyHWx26NyVbJ6kvsMsrAkHUOUMjxPRn8gm4FiiH1NXqZfyQemm5E4FtcwSKS\ntFHNeIw
+wPgjvghqmuqMSMvvyb9NtdP2WPZqsiwWcTEpGfM4btOOHzTcu\/c76ReJ\nWPVwzD0csNf0fcMb0wIDAQAB\n-----END
PUBLIC KEY-----\n"
function test() {
var pwd="123"
var n = new passport.lib.RSA;
n.setKey(key);
return url(n.encrypt(pwd));
}
function GetPwd(pwd, key1) {
return pwd+"||"+key1+"||"+key
var n = new passport.lib.RSA;
n.setKey(key1);
return url(n.encrypt(pwd));
}
当我在易语言调用test方法也就是不传递参数 把pwd和key的值固定写在js代码里面执行可以正常返回
当我执行getpwd的时候返回值为空,经测试pwd参数没有问题,传递的key1根js代码中的key是一样的
于是我通过返回这个三个参数发现了问题 返回的key1参数根传递的时候是一摸一样的 但写在js代码中固定的key中的\n这种转义字符好像被翻译了
返回值如下
123||-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1eJWZPPhBeXKKQvXg1g7yVP8o\nV*FyHWx26NyVbJ6kvsMsrAkHUOUMjxPRn8gm4FiiH1NXqZfyQemm5E4FtcwSKS\ntFHNeIw+wPgjvghqmuqMSMvvyb9NtdP2WPZqsiwWcTEpGfM4btOOHzTcu\/c76ReJ\nWPVwzD0csNf0fcMb0wIDAQAB\n-----END PUBLIC KEY-----\n||-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1eJWZPPhBeXKKQvXg1g7yVP8o
V*FyHWx26NyVbJ6kvsMsrAkHUOUMjxPRn8gm4FiiH1NXqZfyQemm5E4FtcwSKS
tFHNeIw+wPgjvghqmuqMSMvvyb9NtdP2WPZqsiwWcTEpGfM4btOOHzTcu/c76ReJ
WPVwzD0csNf0fcMb0wIDAQAB
-----END PUBLIC KEY-----
跪求大佬 希望哪位好心人帮帮忙