如果你说的是文本加密,有很多方法,自己也可以写个字符变换程序
如果是代码加密,没用的,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:友情提供测试方法