我使用下面的方法对字符串进行加密,返回一个数组,我想把数组转成字符串之后存到DB里。问题:1、如何确定DB中子段的长度?(因为数组的大小根据明文会变化)2、也可以使用其他加密方...
我使用下面的方法对字符串进行加密,返回一个数组,我想把数组转成字符串
之后存到DB里。
问题:1、如何确定DB中子段的长度?(因为数组的大小根据明文会变化)
2、也可以使用其他加密方法,只要能将密文存到DB的一个固定长的字段中就可以。
private static byte[] encrypt1(String key, String text) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException, java.io.UnsupportedEncodingException, javax.crypto.BadPaddingException,
javax.crypto.NoSuchPaddingException {
javax.crypto.spec.SecretKeySpec sksSpec = new javax.crypto.spec.SecretKeySpec(key.getBytes(), "Blowfish");
javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("Blowfish");
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, sksSpec);
byte[] encrypted = cipher.doFinal(text.getBytes());
return encrypted;
}
展开