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

编程教程 > WEB > JavaScript (1130) 2024-11-26 14:39:04

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>

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Java生成密钥对采用hutool工具生KeyPair keyPair = SecureUtil.generateKeyPair("RSA"); PrivateKey aPrivate = k...
Java原生实现RSA非对称加加密,源码参考:import java.io.BufferedReader;import java.io.File;import
生成SSH公钥和私钥ssh-keygen -t rsa #注意生成时设置密钥的密码,这样在利用证书登录时就会先验证密码导入公钥#导入公钥到服务器用户ssh证书列表 cat ~/.ssh/id...
前言某些地方要用到RSA非对称加密的公私密钥。记录通过openssl 工具生成RSA公钥和私钥 OpenSSL工具安装这里是openssl的官方开源库 Rele
引言AES代表高级加密系统,它是一种对称加密算法
TortoiseGit配置SSH秘钥,TortoiseGit
portainer-ce agent密钥机制portainer-ce 与 agent之间的密钥是通过环境变量来校验的,portainer-ce 容器设置一个ag
java c++通用DES加密算法(包含源代码),本来觉得DES、AES这种流行加密算法,使用起来应该很简单。但研究后发现有两个变数:1分块的方式。加密是逐块进行的。2.padding的方式。当...
Spring boot hessian 通讯加密,Spring boot hessian RPC框架通讯之间的加密验证。实现安全的RPC访问
微信支付SDK必要信息微信支付平台证书模式必要参数(目前微信已经逐步弃用,暂不讲解)商户ID商户证书私钥商户证书序列号apiV3key微信支付微信公钥模式必要参
jQuery之MD5加密插件使用及下载,网络中md5进行简单加密的地方越来越多。这里讲解一个jQuery的md5插件
微信支付普通商户账户申请打开 接入微信支付 - 微信商户平台 网页按要求填写完成即可。 微信支付SDK必要信息微信支付平台证书模式必要参数(目前微信已经逐步弃用
Js也导出Excel,能在前台导出的话,将会大大减轻数据库的压力
前言有时候,我们需要对js的原生对象进行扩展,达到全局使用更方便的效果