我正在尝试实现gost 28147-89算法来加密和解密字符串。
在bouncycastle文档中,我不了解如何实现gost28147。如何制作一个简单的类,使用gost 28147-89算法对字符串进行加密和解密?
最佳答案
引用GOST28147Test.java(基本上是有弹性的城堡人提供的示例类,用于该加密方案):
key = new SecretKeySpec(keyBytes, "GOST28147");
in = Cipher.getInstance("GOST28147/ECB/NoPadding", "BC");
out = Cipher.getInstance("GOST28147/ECB/NoPadding", "BC");
out.init(Cipher.ENCRYPT_MODE, key);
in.init(Cipher.DECRYPT_MODE, key);
//
// encryption pass
//
bOut = new ByteArrayOutputStream();
cOut = new CipherOutputStream(bOut, out);
for (int i = 0; i != input.length / 2; i++)
{
cOut.write(input[i]);
}
等等 ...