0

アプリケーションのバックエンドとして XML を使用しています...

xml の解析には LXML が使用されます。

このxmlファイルを暗号化して、データが保護されていることを確認するにはどうすればよいですか......

前もって感謝します。

4

1 に答える 1

4

XML には繰り返し構造が含まれているため、最初compressに、次にencryptそれを実行することをお勧めします。

PyDesをダウンロードしてインストールします。

from pyDes import *
import bz2

def encrypt(data,password):
    k = des(password, CBC, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
    d = k.encrypt(data)
    return d

def decrypt(data,password):
    k = des(password, CBC, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
    d = k.decrypt(data)
    return d

password = "eight222" # password length should be 8

data = '''
<?xml version="1.0"?>
  <library>
   <shelf id="fiction">
    <book>
     <title>Of Mice and Men</title>
     <author>John Steinbeck</author>
    </book>
    <book>
     <title>Harry Potter and the Philosopher's Stone</title>
     <author>J.K. Rowling</author>
    </book>
   </shelf>
  </library> 
'''

print len(data)

compressed_data = bz2.compress(data)
print len(compressed_data)

encrypted_data = encrypt(compressed_data,password)

print "%r"%encrypted_data

uncompressed_encrypted_data = encrypt(data,password)

print len(encrypted_data)
print len(uncompressed_encrypted_data)
print bz2.decompress(decrypt(encrypted_data,password))

Python で利用できる暗号化ライブラリはたくさんあります。

  1. Pure-Python RSA 実装
  2. Python 暗号化の例
  3. PyXMLSec
  4. PyCrypto - Python 暗号化ツールキット
于 2010-03-16T07:50:18.200 に答える