mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
improvement
I improve my code
This commit is contained in:
parent
ad265b9b61
commit
b25bc2cb30
@ -38,12 +38,7 @@ class XORCipher(object):
|
||||
# precondition
|
||||
assert (isinstance(key,int) and isinstance(content,str))
|
||||
|
||||
# testing for default arguments
|
||||
if (key == 0):
|
||||
if (self.__key == 0):
|
||||
key = 1
|
||||
else:
|
||||
key = self.__key
|
||||
key = key or self.__key or 1
|
||||
|
||||
# make sure key can be any size
|
||||
while (key > 255):
|
||||
@ -51,7 +46,6 @@ class XORCipher(object):
|
||||
|
||||
# This will be returned
|
||||
ans = []
|
||||
resultNumber = 0
|
||||
|
||||
for ch in content:
|
||||
ans.append(chr(ord(ch) ^ key))
|
||||
@ -69,12 +63,7 @@ class XORCipher(object):
|
||||
# precondition
|
||||
assert (isinstance(key,int) and isinstance(content,list))
|
||||
|
||||
# testing for default arguments
|
||||
if (key == 0):
|
||||
if (self.__key == 0):
|
||||
key = 1
|
||||
else:
|
||||
key = self.__key
|
||||
key = key or self.__key or 1
|
||||
|
||||
# make sure key can be any size
|
||||
while (key > 255):
|
||||
@ -82,7 +71,6 @@ class XORCipher(object):
|
||||
|
||||
# This will be returned
|
||||
ans = []
|
||||
resultNumber = 0
|
||||
|
||||
for ch in content:
|
||||
ans.append(chr(ord(ch) ^ key))
|
||||
@ -101,12 +89,7 @@ class XORCipher(object):
|
||||
# precondition
|
||||
assert (isinstance(key,int) and isinstance(content,str))
|
||||
|
||||
# testing for default arguments
|
||||
if (key == 0):
|
||||
if (self.__key == 0):
|
||||
key = 1
|
||||
else:
|
||||
key = self.__key
|
||||
key = key or self.__key or 1
|
||||
|
||||
# make sure key can be any size
|
||||
while (key > 255):
|
||||
@ -114,7 +97,6 @@ class XORCipher(object):
|
||||
|
||||
# This will be returned
|
||||
ans = ""
|
||||
resultNumber = 0
|
||||
|
||||
for ch in content:
|
||||
ans += chr(ord(ch) ^ key)
|
||||
@ -132,12 +114,7 @@ class XORCipher(object):
|
||||
# precondition
|
||||
assert (isinstance(key,int) and isinstance(content,str))
|
||||
|
||||
# testing for default arguments
|
||||
if (key == 0):
|
||||
if (self.__key == 0):
|
||||
key = 1
|
||||
else:
|
||||
key = self.__key
|
||||
key = key or self.__key or 1
|
||||
|
||||
# make sure key can be any size
|
||||
while (key > 255):
|
||||
@ -145,8 +122,7 @@ class XORCipher(object):
|
||||
|
||||
# This will be returned
|
||||
ans = ""
|
||||
resultNumber = 0
|
||||
|
||||
|
||||
for ch in content:
|
||||
ans += chr(ord(ch) ^ key)
|
||||
|
||||
@ -166,15 +142,12 @@ class XORCipher(object):
|
||||
assert (isinstance(file,str) and isinstance(key,int))
|
||||
|
||||
try:
|
||||
fin = open(file,"r")
|
||||
fout = open("encrypt.out","w+")
|
||||
with open(file,"r") as fin:
|
||||
with open("encrypt.out","w+") as fout:
|
||||
|
||||
# actual encrypt-process
|
||||
for line in fin:
|
||||
fout.write(self.encrypt_string(line,key))
|
||||
|
||||
fin.close()
|
||||
fout.close()
|
||||
# actual encrypt-process
|
||||
for line in fin:
|
||||
fout.write(self.encrypt_string(line,key))
|
||||
|
||||
except:
|
||||
return False
|
||||
@ -195,15 +168,12 @@ class XORCipher(object):
|
||||
assert (isinstance(file,str) and isinstance(key,int))
|
||||
|
||||
try:
|
||||
fin = open(file,"r")
|
||||
fout = open("decrypt.out","w+")
|
||||
with open(file,"r") as fin:
|
||||
with open("decrypt.out","w+") as fout:
|
||||
|
||||
# actual encrypt-process
|
||||
for line in fin:
|
||||
fout.write(self.decrypt_string(line,key))
|
||||
|
||||
fin.close()
|
||||
fout.close()
|
||||
# actual encrypt-process
|
||||
for line in fin:
|
||||
fout.write(self.decrypt_string(line,key))
|
||||
|
||||
except:
|
||||
return False
|
||||
@ -214,26 +184,26 @@ class XORCipher(object):
|
||||
|
||||
|
||||
# Tests
|
||||
# crypt = XORCipher()
|
||||
# key = 67
|
||||
crypt = XORCipher()
|
||||
key = 67
|
||||
|
||||
# # test enrcypt
|
||||
# print crypt.encrypt("hallo welt",key)
|
||||
# # test decrypt
|
||||
# print crypt.decrypt(crypt.encrypt("hallo welt",key), key)
|
||||
# test enrcypt
|
||||
print crypt.encrypt("hallo welt",key)
|
||||
# test decrypt
|
||||
print crypt.decrypt(crypt.encrypt("hallo welt",key), key)
|
||||
|
||||
# # test encrypt_string
|
||||
# print crypt.encrypt_string("hallo welt",key)
|
||||
# test encrypt_string
|
||||
print crypt.encrypt_string("hallo welt",key)
|
||||
|
||||
# # test decrypt_string
|
||||
# print crypt.decrypt_string(crypt.encrypt_string("hallo welt",key),key)
|
||||
# test decrypt_string
|
||||
print crypt.decrypt_string(crypt.encrypt_string("hallo welt",key),key)
|
||||
|
||||
# if (crypt.encrypt_file("test.txt",key)):
|
||||
# print "encrypt successful"
|
||||
# else:
|
||||
# print "encrypt unsuccessful"
|
||||
if (crypt.encrypt_file("test.txt",key)):
|
||||
print "encrypt successful"
|
||||
else:
|
||||
print "encrypt unsuccessful"
|
||||
|
||||
# if (crypt.decrypt_file("a.out",key)):
|
||||
# print "decrypt successful"
|
||||
# else:
|
||||
# print "decrypt unsuccessful"
|
||||
if (crypt.decrypt_file("encrypt.out",key)):
|
||||
print "decrypt successful"
|
||||
else:
|
||||
print "decrypt unsuccessful"
|
Loading…
Reference in New Issue
Block a user