ファイルの暗号化
Pythonでは、通信チャネルに送信する前にファイルを暗号化および復号化することができます。このためには、プラグインを使用する必要がありますPyCrypto。このプラグインは、以下のコマンドを使用してインストールできます。
pip install pycrypto
コード
パスワードプロテクターでファイルを暗号化するためのプログラムコードを以下に示します-
# =================Other Configuration================
# Usages :
usage = "usage: %prog [options] "
# Version
Version="%prog 0.0.1"
# ====================================================
# Import Modules
import optparse, sys,os
from toolkit import processor as ps
def main():
parser = optparse.OptionParser(usage = usage,version = Version)
parser.add_option(
'-i','--input',type = 'string',dest = 'inputfile',
help = "File Input Path For Encryption", default = None)
parser.add_option(
'-o','--output',type = "string",dest = 'outputfile',
help = "File Output Path For Saving Encrypter Cipher",default = ".")
parser.add_option(
'-p','--password',type = "string",dest = 'password',
help = "Provide Password For Encrypting File",default = None)
parser.add_option(
'-p','--password',type = "string",dest = 'password',
help = "Provide Password For Encrypting File",default = None)
(options, args)= parser.parse_args()
# Input Conditions Checkings
if not options.inputfile or not os.path.isfile(options.inputfile):
print " [Error] Please Specify Input File Path"
exit(0)
if not options.outputfile or not os.path.isdir(options.outputfile):
print " [Error] Please Specify Output Path"
exit(0)
if not options.password:
print " [Error] No Password Input"
exit(0)
inputfile = options.inputfile
outputfile = os.path.join(
options.outputfile,os.path.basename(options.inputfile).split('.')[0]+'.ssb')
password = options.password
base = os.path.basename(inputfile).split('.')[1]
work = "E"
ps.FileCipher(inputfile,outputfile,password,work)
return
if __name__ == '__main__':
main()
次のコマンドを使用して、パスワードとともに暗号化プロセスを実行できます-
python pyfilecipher-encrypt.py -i file_path_for_encryption -o output_path -p password
出力
上記のコードを実行すると、次の出力が表示されます。
説明
パスワードはMD5ハッシュアルゴリズムを使用して生成され、値はWindowsシステムの単純に安全なバックアップファイルに保存されます。これには、以下に表示される値が含まれます。