|
5精币
- public static String encryptPassword(String str) {
- try {
- byte[] bytes = str.getBytes("UTF8");
- PrivateKey generatePrivate = KeyFactory.getInstance("RSA")
- .generatePrivate(new RSAPrivateKeySpec(new BigInteger(
- "8983556970082806072261113298370959076142893170423488416059191100210358114802049032983889493302173157165863643606239492524847800665553743035328512591065037"),
- new BigInteger("65537")));
- Cipher instance = Cipher.getInstance("RSA/ECB/NoPadding");
- instance.init(1, generatePrivate);
- return new String(Base64.getEncoder().encodeToString(instance.doFinal(bytes)));
- } catch (Exception e) {
- e.printStackTrace();
- return str;
- }
- }
复制代码
补充内容 (2021-1-8 18:49):
明文 123456 密文 VOfTpsd6iC8mObSNjXYrT/m7dfMjpu5j6V2BoFOlI2WXWfjO/rJ2UB+y9wLvPKi6qr8hGsDH2V9qW0MiFDNtbQ== |
最佳答案
查看完整内容
补充一下,不是向后,是在明文前填充0
准确的说,是对明文字节集向前填充字节0到位数与加密密钥长度一样
|