java DES生成密钥加密解密
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
import org.springframework.stereotype.Component;
@Component
public class DES{
public byte[] bytes;
public String getKey(){
try {
KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
keyGenerator.init(56);
SecretKey generateKey = keyGenerator.generateKey();
byte[] encoded = generateKey.getEncoded();
String encodeHexString = Hex.encodeHexString(encoded);
return encodeHexString;
} catch (Exception e) {
e.printStackTrace();
return "密钥生成错误.";
}
}
public String encryptor(String str,String Key){
String s=null;
try {
DESKeySpec desKey = new DESKeySpec(Key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(desKey);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE,securekey);
byte[] bytes=cipher.doFinal(str.getBytes());
s= Base64.encodeBase64String(bytes);
} catch (Exception e) {
e.printStackTrace();
return "加密错误.";
}
return s;
}
public String decryptor(String buff,String Key){
String s=null;
try {
DESKeySpec desKey = new DESKeySpec(Key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(desKey);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE,securekey);
byte[] responseByte=cipher.doFinal(Base64.decodeBase64(buff));
s=new String(responseByte);
return s;
} catch (Exception e) {
e.printStackTrace();
return "解密错误.";
}
}
}