使用Java技术实现对称密码算法
信息系统安全附件-1
惑挂辙来眩胁研签逾萧忍峭堡饭带疟胚腻赁它汗定斟乙瞧渗立嘛昏聂掳出使用Java技术实现对称密码算法使用Java技术实现对称密码算法
在J2SE 中缺省提供的算法
DES
TripleDES
Blowfish
PBEWithMD5AndDES
PBEWithMD5AndTripleDES.
蜜砂膀史邦攘佳沤掇输悔我高拎峨毛斗染炽匿颓再楷拈赋添妹沈椰掷例车使用Java技术实现对称密码算法使用Java技术实现对称密码算法
Java API
是实现加密解密的类。
一个具体 Cipher对象通过调用静态方法 getInstance()来获得。
上述方法需要一个变换字符串做为参数: algorithm/mode/padding (例如, "DES/ECB/PKCS5Padding")
使用密钥或另加一个算法参数对象进行初始化。
通过调用update()对传递进来的数据进行加密或解密。
最后调用doFinal()来完成加密或解密过程。
窖阀远柑碟最睡旦掂满侧褥孺聋尾昏解后账瑶追擞跨躲最锋怒掇幽敛瞎铁使用Java技术实现对称密码算法使用Java技术实现对称密码算法
一个加密过程示例
private static byte[] encrypt(byte[] inpBytes, SecretKey key,
byte[] iv, String xform) throws Exception
{
Cipher cipher = (xform);
IvParameterSpec ips = new IvParameterSpec(iv);
(, key, ips);
return (inpBytes);
}
实琵痈碘烟组专莉棋煮滓钩期滓斑镐沛影覆墟滔鸳独薯肿圈伙斋卓粱贺税使用Java技术实现对称密码算法使用Java技术实现对称密码算法
解密过程
private static byte[] decrypt(byte[] inpBytes, SecretKey key,
byte[] iv, String xform) throws Exception
{
Cipher cipher = (xform);
IvParameterSpec ips = new IvParameterSpec(iv);
(, key, ips);
return (inpBytes);
}
汗汗父誓苑缎砂贝毡侨悲楞祥夫陀颅戌恤财蠕崭单适马欢僵肮穿颜率碴饶使用Java技术实现对称密码算法使用Java技术实现对称密码算法
Java示例程序主结构
import ;
import ;
import ;
import ;
public class ipherTest
{
前面定义的加密和解密方法放在这里
private static byte[] iv = { 0x0a, 0x01, 0x02, 0x03, 0x04, 0x0b, 0x0c, 0x0d };
public static void main() throws Exception
{ String xform = "DES/CBC/PKCS5Padding";
KeyGenerator kg = ("DES");
(56);
SecretKey key = ();
byte[] dataBytes = “my student id is xxxxxx".getBytes();
byte[] encBytes = encrypt(dataBytes, key, iv, xform);
byte[] decBytes = decrypt(encBytes, key, iv, xform);
boolean expected = (dataBytes, decBytes);
("Test " + (expected
使用Java技术实现对称密码算法 来自淘豆网www.taodocs.com转载请标明出处.