0
我正在爲每個變量添加值以獲取加密郵件。所有硬編碼用於測試目的。RSA加密 - 嘗試加密郵件返回錯誤的值
返回值?????
應該返回538 1729 1328 1328 2146
。我有什麼錯誤嗎?這是我用我的代碼唯一的問題。
public static void main(String[] args){
int p = 61;
int q = 37;
int pq = p * q;
int phiPQ = (p - 1) * (q - 1);
int e = 7;
int d = 1543;
String message = encryptMsg("hello", pq, e);
System.out.println(message);
}
public static String encryptMsg(String msg, int pq, int e){
BigInteger bE = new BigInteger(Integer.toString(e));
BigInteger bPQ = new BigInteger(Integer.toString(pq));
String encryptedMsg = "";
for(int i = 0; i < msg.length(); i++){
BigInteger m = new BigInteger(Integer.toString(msg.charAt(i)));
BigInteger bC = m.modPow(bE, bPQ);
encryptedMsg += " " + (char)bC.intValue();
}
return encryptedMsg;
}
Btw:結果的第一個值是1039,而不是538。 – LostAvatar