首页  >  问答  >  正文

Java rsa加密问题

因为不是Java程序员, 算法什么的也不是很懂, 所以来求助.

先有2个文件:

RSAHelper.java:

public class RSAHelper
{
  public static String encrypt(String paramString)
    throws Exception
  {
    return Base64Utils.encode(RSAUtils.encryptByPrivateKey(paramString.getBytes(), "MKC0hqEIwIuQ== (太长只截取了一部分)"));
  }
}

RSAUtils.java:

public static byte[] encryptByPrivateKey(byte[] paramArrayOfByte, String paramString)
throws Exception
{
paramString = new PKCS8EncodedKeySpec(Base64Utils.decode(paramString));
paramString = KeyFactory.getInstance("RSA").generatePrivate(paramString);
Cipher localCipher = getCipher();
localCipher.init(1, paramString);
int k = paramArrayOfByte.length;
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
int j = 0;
int i = 0;
if (k - j > 0)
{
  if (k - j > 117) {}
  for (paramString = localCipher.doFinal(paramArrayOfByte, j, 117);; paramString = localCipher.doFinal(paramArrayOfByte, j, k - j))
  {
    localByteArrayOutputStream.write(paramString, 0, paramString.length);
    i += 1;
    j = i * 117;
    break;
  }
}
paramArrayOfByte = localByteArrayOutputStream.toByteArray();
localByteArrayOutputStream.close();
return paramArrayOfByte;
}

是通过第一个文件(RSAHelper.class)中的 encrypt 函数来加密字符串的:
RSAHelper.encrypt("hello world.")

但是貌似跟平常rsa不太一样, 这个是私钥加密的, 好像只有私钥.

现在想使用其他语言实现同样效果(JS或PHP), 能计算出同样的值即可.

阿神阿神2764 天前502

全部回复(0)我来回复

暂无回复
  • 取消回复