XML加密技术在电子病历数据共享中的应用(2)
用Java实现加密的核心代码如下:
KeyGenerator KG = KeyGenerator.getInstance("DESede");
KeytheKey = KG.generateKey(); // 生加密密钥theKey;
String clearData = new String(data); // data为需加密的内容,即< diagnosis >元素
int pad = clearData.getBytes().length %8;
for(int i=0;i<(8-pad);i++)
clearData += " ";//用空格补足字符串, 长度为8的倍数
Cipher cipherObj = Cipher.getInstance("DESede/CBC/NoPadding");//创建加密对象
cipherObj.init(Cipher.ENCRYPT_MODE,this.encKey); //初始化加密对象
byte[] cipherTemp = cipherObj.doFinal(clearData.getBytes());//加密数据
String cipherDataBase64 = getBase64Encoded(cipherTemp);//转化成Base64编码
利用DOM4JAPI方法构造
4结论
本文介绍了使用对称算法实现对电子病历XML加密,保证加密数据安全的核心是密钥交换的安全性。一种可行的方法是使用非对称加密算法加密对称加密算法的密钥,以保证密钥交换的安全,再使用对称加密算法进行文件数据的加密和解密,这样的结合加密方式会在实际开发中得到广泛应用。
参考文献:
[1]陈可.基于 XML的电子病历系统[J].计算机系统应用.2012,21(6).
[2]车葵,牛晓太,邢书涛. XML加密方法的研究与实现[J].计算机工程和设计.2008,29(20).
[3]陈晚华.XML安全技术在共享数据交换中的应用[D].中南大学,2008.编辑/孙杰, 百拇医药(李小智 罗铁清)