AES CBC算法

时间:2018-08-23 09:07:11

标签: java

有人可以帮助我使用AES CBC算法吗?我有一些返回字符串超过192个字符的方法,但是我需要获得192个字符! 我使用下一种方法。我读了很多文章,但我不知道该怎么做。也许有人有解决该问题的实例?我曾经使用过网络http://www.cryptogrium.com/aes-encryption-online-ecb.html加密的aes,但是我得到了192个字符,但是我的方法无法做到这一点

private static byte[] iv = "0000000000000000".getBytes();
public static String encrypt(String content, String key) throws Exception {
    byte[] input = content.getBytes("utf-8");
    MessageDigest md = MessageDigest.getInstance("SHA-256");
    byte[] thedigest = md.digest(key.getBytes("utf-8"));
    SecretKeySpec skc = new SecretKeySpec(thedigest, "AES");
    Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
    cipher.init(Cipher.ENCRYPT_MODE, skc, new IvParameterSpec(iv));
    byte[] cipherText = new byte[cipher.getOutputSize(input.length)];
    int ctLength = cipher.update(input, 0, input.length, cipherText, 0);
    ctLength += cipher.doFinal(cipherText, ctLength);
    return DatatypeConverter.printHexBinary (cipherText);
}

0 个答案:

没有答案