如果你說的是文本加密,有很多方法,自己也可以寫個字元變換程序
如果是代碼加密,沒用的,java就是開源。
你藏再厲害,編譯+反編譯,干凈的源碼就出來了
Ⅱ 如何用JAVA實現字元串簡單加密解密
Java中可以使用多種加密演算法來加密字元串,例如DES演算法。下面通過一個示例來展示如何使用Java實現字元串的加密和解密。
首先,我們需要創建一個密鑰。這可以通過調用`KeyGenerator`類的`getInstance`方法來實現。這里我們以DES演算法為例:
KeyGenerator keygen = KeyGenerator.getInstance("DES");
接下來,我們需要初始化`KeyGenerator`對象,並生成一個密鑰:
keygen.init(512);
使用生成的密鑰進行加密操作。這里我們定義一個方法`encryptToDES`,接受一個密鑰和要加密的信息,返回加密後的信息:
public String encryptToDES(SecretKey key, String info) { ... }
解密操作則通過另一個方法`decryptByDES`來實現,該方法接受密鑰和要解密的密文,返回解密後的信息:
public String decryptByDES(SecretKey key, String sInfo) { ... }
此外,還可以使用其他加密演算法,如MD5和SHA-1。這里提供一個MD5加密方法`encryptToMD5`:
public String encryptToMD5(String info) { ... }
以及一個SHA-1加密方法`encryptToSHA`:
public String encryptToSHA(String info) { ... }
通過這些方法,我們可以方便地對字元串進行加密和解密操作。同時,還可以使用公鑰和私鑰進行數字簽名和驗證,確保信息的完整性和安全性。
示例代碼中還包含了一些輔助方法,如將二進制轉化為16進制字元串`byte2hex`,以及將十六進制字元串轉化為二進制`hex2byte`。這些方法在加密和解密過程中起到了關鍵作用。
通過上述方法,我們可以靈活地在Java中實現字元串的加密和解密,確保數據的安全傳輸和存儲。
Ⅲ Java帶KeyGenerator(密鑰生成器)生成AES加密,c++裡面AES解密
本文討論了Java使用密鑰生成器(KeyGenerator)創建AES加密和C++中使用AES解密的過程。具體步驟如下:
一、Java端加密流程:
Java端生成AES加密時,首先需要使用KeyGenerator類創建密鑰生成器實例。使用指定的演算法(如AES)和密鑰大小(通常為128位)初始化KeyGenerator。然後,通過調用其generateKey()方法生成密鑰。
二、Java端解密流程(示例代碼):
在Java端,解密操作通常需要使用預先生成的密鑰。解密通常涉及Cipher類,首先實例化Cipher對象,並使用密鑰和Cipher對象的指定模式(如Cipher.DECRYPT_MODE)初始化。然後,通過Cipher對象的update()或doFinal()方法對加密數據進行解密。
三、C++端解密流程:
C++能夠解密的關鍵在於正確獲取Java端生成的密鑰值。這通常涉及通過某種形式的數據交換或介面,確保C++端能夠訪問到與Java端相同的密鑰。在C++中,可以使用特定的AES庫(例如CAesLib)來實現解密操作。
四、測試與驗證:
通過Java端生成的密鑰與C++端進行解密操作,以驗證密鑰生成和解密過程的有效性。測試結果應顯示出成功解密的預期結果,證明了Java和C++之間的密鑰交換和解密操作能夠順利進行。
重要說明:確保在C++端正確獲取和使用Java端輸出的密鑰值是成功解密的關鍵步驟。具體實現可能涉及使用特定的數據交換機制或跨語言通信協議。
Ⅳ Java 編寫加密類,實現對輸入字元串進行加密,加密演算法如下: 1.每個字元
不懂請追問
public class Q {
public static String encrypt(String str){
StringBuilder sb=new StringBuilder(str);
for(int i=0;i<sb.length();i++){
char c=sb.charAt(i);
sb.setCharAt(i,(char)(c+i));
}
sb.reverse();
return sb.toString();
}
public static void main(String[] args) {
String s="abc";
s=encrypt(s);
System.out.println(s);
}
}
有用請採納
ps:友情提供測試方法