JavaScript Java中执行JS实现RSA加密
java 里的ScriptEngineManager
配合 javascript 搞 RSA 加密,还是挺实用的一招,尤其是你想在后端复用一份前端加密逻辑的时候,省事不少。嗯,直接在 java 里执行一段 js 脚本,调用encrypt
方法,效果还挺丝滑的。
RSA 加密的场景其实蛮常见,比如登录前加个密码加密啥的,不想暴露明文,就用它。js 加密后,java 后端来解密,这种组合在系统对接或者混合开发里还挺吃香。
脚本文件也比较简单,你把 js 写好,java 这边用ScriptEngineManager
加载一遍,再调用就完事了。响应也快,代码也清晰。像这样:
ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");
engine.eval(new FileReader("rsa.js"));
Invocable inv = (Invocable) engine;
String encrypted = (String) inv.invokeFunction("encrypt", text);
哦对了,遇到ScriptException
或者NoSuchMethodException
要记得捕捉下,不然一出错就崩。
你要是正好在做 js-java 的混合加密,不妨看看这些相关文章:
- RSA 加密脚本 JavaScript
- java RSA 加密
- javascript 与 java 进行 RSA 加密与解密
- rsa 算法使用 Java 与 javascript 加密解密范例
- JAVA 实现 RSA 加密
- Java RSA 加密解密
- rsa 加密 js 加密 java 解密
- RSA 加密解密之 javascript 与 java 配套源码.zip
如果你前端后端都自己写,这种方式可以让两边逻辑对得更牢,尤其在敏感数据传输这块,还挺值一试的。
下载地址
用户评论