Código fuente de cambio de contraseña de Java
//Entonces el lado de Java debe corresponder. ¿Tu nombre claro es Liu Biao?
//Además, DES ya no es seguro. Si se puede cambiar a 3DES o AES.
Clase pública LearnDes {
Public static void main(String[] args) {
Pruebe {
System.out.println (cifrar("Liu Biao", "12345678 "));
sistema fuera . >} catch(Exception e) {
e . printstacktrace();
}
}
Cifrado de cadena estática pública ( Cadena mensaje, clave de cadena) genera una excepción {
//Cipher Cipher = Cipher .getinstance(" DES/CBC/pkcs 5 padding "); " DES/ECB/no padding ");
deskey spec dekey spec = new dekey spec(key . getbytes(" UTF-8 "));
secretkey factory key factory = secretkey factory . getinstance(" DES ");
clave secreta clave secreta = key factory . generar secreto(deskey spec);
IvParameterSpec iv = new IvParameterSpec(key . getbytes(" UTF-8 "));
//cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
cipher.init(contraseña.
ENCRYPT_MODE, secretKey);
Volver a exstring(cipher . do final(message . getbytes(" UTF-8 "));
}
Público estático El descifrado de cadenas (mensaje de cadena, clave de cadena) genera una excepción {
byte[]bytes RC = convertHexString(mensaje);
//Cipher Cipher = Cipher( " DES/CBC . /pkcs 5 padding ");
cipher cipher = cipher . getinstance(" DES/ECB/no padding ");
deskey spec dekey spec = nueva especificación dekey (key . getbytes (" UTF-8 "));
fábrica de claves secretas fábrica de claves = fábrica de claves secretas . getinstance(" DES ");
clave secreta clave secreta = fábrica de claves . spec);
IvParameterSpec iv = new IvParameterSpec(key . getbytes(" UTF-8 "));
//cipher.init(Cipher.DECRYPT_MODE, secretKey , iv);
cipher.init(contraseña.
DECRYPT_MODE, secretKey);
byte[]ret byte = cipher .do final(bytes RC);
Devuelve nueva cadena (ret byte);
}
byte estático público[]convertHexString(String ss){
byte digest[] = nuevo byte[ss length()/2];
para. (int I = 0; iltdigest.lengthi) {
string byteString = ss. substring(2 * I, 2 * I 2);
int valor de byte = entero. (cadena de bytes, 16);
resumen[I]=(byte)valor de byte;
}
Resumen de retorno;
}
Cadena estática pública toHexString(byte b[]) {
búfer de cadena cadena hexadecimal = nuevo búfer de cadena();
for (int I = 0 ; i ltb . longitud; i ) {
cadena texto plano = entero . )
Texto plano = "0" texto plano;
hexString.append(texto plano);
}
Devuelve cadena hexadecimal astring(. );
}
}