打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
RSA/ECB/PKCS1Padding加密

由于近期经常被改犇,我的有些犇犇会使用RSA/ECB/PKCS1Padding加密。我的公钥:

Modulus: 7749508816481769130958656717979283807090064162903164284448125194652436835418455841001455979629062396710853788700110904825475002409879758932825196227887201Public Exponent: 65537

解密代码:(直接拿某谷IDE跑就没问题)

import java.math.BigInteger;import java.nio.charset.StandardCharsets;import java.security.*;import java.security.spec.*;import java.util.Base64;import java.util.Scanner;import javax.crypto.Cipher;public class Main {	public static void main(String[] args) throws Exception {		Scanner sca = new Scanner(System.in);		BigInteger mod = sca.nextBigInteger();		BigInteger expo = sca.nextBigInteger();		String str = sca.next();		sca.close();		RSAPublicKeySpec spec = new RSAPublicKeySpec(mod, expo);		KeyFactory factory = KeyFactory.getInstance("RSA");		PublicKey key = factory.generatePublic(spec);		Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");		cipher.init(Cipher.DECRYPT_MODE, key);		byte[] data = cipher.doFinal(Base64.getDecoder().decode(str));		String ret = new String(data, StandardCharsets.UTF_8);		System.out.println(ret);	}}

输入格式:共三行,第一行为Modulus,第二行为Public Exponent,第三行为Base64编码的密文。

输入样例:

774950881648176913095865671797928380709006416290316428444812519465243683541845584100145597962906239671085378870011090482547500240987975893282519622788720165537VQMtiDl6jutupZi6T5ooTUejV02LYoz7fYjFwUNy4L7hmLQFeLzJqPQculd3j3/oHF0/Y9nk5A+nHHtgQ4fu/A==
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
非对称加密 (公钥加密私钥解密或者公钥解密私钥加密)
Java使用Cipher类实现加密,包括DES,DES3,AES和RSA加密
循序渐进学加密
Android 与 .net 互通的RSA加密
网络安全加密——DES、AES、RSA、Base64、MD5加密原理介绍,代码实现
rsa加解密的内容超长的问题解决
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服