当前位置: 首页 > 期刊 > 《医学信息》 > 201418
编号:13683719
XML加密技术在电子病历数据共享中的应用(2)
http://www.100md.com 2014年5月7日 《医学信息》 201418
     theKey

    

    7XzuD7zwUfdos8ws+mNr…/pNYSEw05pYK9utIkjIyT


    用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方法构造元素,其中元素内容为加密得到的cipherDataBase64,然后用自定义封装方法replaceElement(encElement, " diagnosis "),将元素替换掉,得到加密后的电子病历XML。在实际应用中,可以对电子病历XML文件不同元素用不同密钥加密,这样只有拥有相应密钥的数据接收者才能解密相应的数据。

    4结论

    本文介绍了使用对称算法实现对电子病历XML加密,保证加密数据安全的核心是密钥交换的安全性。一种可行的方法是使用非对称加密算法加密对称加密算法的密钥,以保证密钥交换的安全,再使用对称加密算法进行文件数据的加密和解密,这样的结合加密方式会在实际开发中得到广泛应用。

    参考文献:

    [1]陈可.基于 XML的电子病历系统[J].计算机系统应用.2012,21(6).

    [2]车葵,牛晓太,邢书涛. XML加密方法的研究与实现[J].计算机工程和设计.2008,29(20).

    [3]陈晚华.XML安全技术在共享数据交换中的应用[D].中南大学,2008.编辑/孙杰, 百拇医药(李小智 罗铁清)
上一页1 2