#coding=gbk
"""
实现服务器资源data文本文件加密
"""
__author__ = 'lc'
import os
import sys
import traceback
ENCRYPT_DIR = "path"
PASSWORD = [0x88, 0x04, 0xfe, 0xef, 0xaa]
def check_arg():
if len(sys.argv) != 2:
print("参数不正确! 用法: encrypt_data 要加密的目录")
exit(1)
global ENCRYPT_DIR
ENCRYPT_DIR = sys.argv[1]
def encrypt_data():
try:
check_arg()
print("正在加密, 请稍候......")
for root, dirs, files in os.walk(ENCRYPT_DIR):
if root.find(".git") != -1:
continue
for file in files:
if not (file.endswith(".txt") or file.endswith(".ini")):
continue
file = os.path.join(root, file)
fp = open(file, "rb")
fileLines = fp.readlines()
fp.close()
fp = open(file, "wb")
pwdindex = 0
for rline in fileLines:
rbytes = bytearray(rline)
wline = bytearray("")
for val in rbytes:
pwdindex = 0 if pwdindex >= len(PASSWORD) else pwdindex
val ^= PASSWORD[pwdindex]
pwdindex = pwdindex + 1
wline.append(val)
fp.write(wline)
except Exception:
traceback.print_exc()
else:
print("加密成功")
if __name__ == "__main__":
encrypt_data()