jsencrypt 公钥加密 Java 私钥解密 RSA加密

教程分享 > WEB技术 > JavaScript (1210) 2024-08-07 11:21:12

Java生成密钥对

采用hutool工具生成

KeyPair keyPair = SecureUtil.generateKeyPair("RSA");
PrivateKey aPrivate = keyPair.getPrivate();
String privateEncode = Base64.encodeUrlSafe(aPrivate.getEncoded());
String publicEncode = Base64.encodeUrlSafe(keyPair.getPublic().getEncoded());

 

Java私钥解密

String privateKey="";
String publicKey="";
String rsaPassword="";
RSA rsa=new RSA(privateKey,null);
byte[] encrypt = rsa.encrypt(StrUtil.bytes(password, CharsetUtil.UTF_8), KeyType.PublicKey);
String  decrypt2= rsa.decryptStr(rsaPassword, KeyType.PrivateKey); 
System.out.println("解密后:"+decrypt2);

提示:RSA对象为Hutool工具对象,初始化只用其中一个密钥即可,不要指定算法。

错误示范:

RSA rsa=new RSA("RSA",privateKey,null);

JavaScript jsencrypt 公钥加密

<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jsencrypt/3.3.2/jsencrypt.js"></script>
<script type="text/javascript">
  function test(){

    let encrypt = new JSEncrypt();
    encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCgnN_dFn6aWl2GKEiesdNV0uEuSURE7XBGrHpGc-zqW1F9lJTxfbTC6o7pcrdzCtHlplhPuXPuJqEM_hGYbK3pcggsXL13DKDrCEftYjgNBjHHYY4DnrPW6Sf8Iro4xISw2PtyrkdTFNegp-9pTUC1n9F33KLIAKncuCEdK8dQiQIDAQAB');//此处为RSA公钥,public.pem
    let passWord="123456";
    passWord = encrypt.encrypt(passWord);//加密后的密码
    console.log(passWord)
    alert(passWord)
  }
  test();
</script>

 

 

https://www.leftso.com/article/1683451092928565250.html

相关文章
Java生成密钥对采用hutool工具生KeyPair keyPair = SecureUtil.generateKeyPair("RSA"); PrivateKey aPrivate = k...
引言AES代表高级加密系统,它是一种对称加密算法
Js也导出Excel,能在前台导出的话,将会大大减轻数据库的压力
前言有时候,我们需要对js的原生对象进行扩展,达到全局使用更方便的效果
javascript(js)onclick 传递多个字符变量参数&lt;a title="点击下载附件" onclick="downloadFile(\''+row.url+'\',\''+ro...
jquery插件Viewer.js是一个强大的图片查看工具,Viewer也提供了一个纯js版本的工具,图片查看,Viewer.js,Viewer
主流模块规范目前主流模块规范有:规范名称运行环境实现加载方式AMD(异步模块定义)客户端require.js异步CMD(通用模块定义)客户端sea.js异步Co
JavaScript/JS数组清空,删除数组内所有数据。Array=[]与Array.length=0的区别
这里讲解的是一种通过扩展原生JS的方式进行日期格式化​首先,在需要使用的地方添加以下代码Date.prototype.format = function(fmt) { var o ...
现有js数组数据如下:let dataArray=[{id:1,name:'张三'},{id:2,name:'李四'}];根据id获取js数组的对象let findId=1; let findO...
步骤:1、配置文件webpack.config.js:  {     test:/\.css$/,     loader:'style-loader!css-loader'  ...
spring boot 开发技巧,在开发web项目中跳过thyemeleaf模板/js/css等缓存避免每次修改资源文件都需要重启服务器
js 生成二维码引入qrcode.js该框架基于HTML5原生编写,兼容性较好。支持H5 vue uniapp 微信小程序等。基本使用参考&lt;div id="qrcode"&gtl;&lt;...
在初始化的Vue项目中,我们最先接触到的就是main.js,App.vue,index.html这三个文件,从下面创建的一个空白项目中可以看到:​关于三个文件的说明如下:index.html---主页
vue
在js编程中,也会遇到替换字符串对象中某个字符。这时候就需要使用js内置函数replace了。可以替换一个也可以替换多个,支持正则表达式匹配比较灵活