#coding:utf-8
import re
import hashlib
import sys
import random
def read(Name):
f=open(Name,'r')
alllines=f.readlines()
f.close()
return alllines
def md5_32(cstr):
m = hashlib.md5(cstr).hexdigest()
return m.lower()
def md5_16(cstr):
m = hashlib.md5(cstr).hexdigest()[8:-8]
return m.lower()
def rand():
str = ""
for i in range(6):
ch = chr(random.randrange(ord('0'), ord('9') + 1))
str += ch
return md5_32(str)
def randstr():
str = ""
for i in range(6):
ch = chr(random.randrange(ord('0'), ord('9') + 1))
str += ch
return str
def write(Name,alllines,str1,str2,choose):
choose = int(choose)
if choose ==1:
str2=str2
elif choose == 2:
str2 =md5_32(str2)
elif choose ==3:
str2 =md5_16(str2)
elif choose ==4:
str2 = rand()
elif choose ==5:
str2=randstr()
else:
str2=str2
print "修改前:"+str1+"---》修改后"+":"+str2
f=open(Name,'w+')
count =0
for eachline in alllines:
a=re.sub(str1,str2,eachline)
f.writelines(a)
if a!=eachline:
count+=1
if count ==0:
print "不存在需要修改的字符串或修改值相同!"
else:
print "成功替换"+str(count)+"次!"
f.close()
if __name__ == "__main__":
Name ="sqlgunnews.sql" #raw_input("请输入sql文件名:") #需要修改的sql文件名
str1 ="96e79218965eb72c92a549dd5a330112" #raw_input("请输入要改的字符串:") #需要查找替换的字符串
str2 = "123456" #raw_input("请输入修改后的字符串:") #修改后的字符串
choose =2 #raw_input("请选择修改后存储方式:1:明文存储,2:md5加密存储,3:md5_16加密,4:随机六位数字Md5,5:随机6位明文\n") #选择修改后存储方式:1:明文存储,2:md5加密存储,3:md5_16加密,4:随机六位数字Md5
alllines = read(Name)
write(Name,alllines,str1,str2,choose)