Skip to content

Commit

Permalink
Merge pull request #1 from AnsahMohammad/AnsahMohammad-patch-1
Browse files Browse the repository at this point in the history
Ansah mohammad patch 1
  • Loading branch information
AnsahMohammad authored Oct 3, 2022
2 parents 2c18bae + 3d98e36 commit 0dba68e
Showing 1 changed file with 87 additions and 0 deletions.
87 changes: 87 additions & 0 deletions vigenere_EncrypterDecrypter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
alphabets='''ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz[]{}#%^^*+=_\|~<>€0987654321 £¥•- :;()$&@".,?'''
table=[]
spec_char='''[]{}#%^^*+=_\|~<>€0987654321 £¥•- :;()$&@".,?!'''

for n in range(97):
a=alphabets[n:97]+alphabets[0:n]
table.append(a)

index={}
for n in range(97):
index.update({alphabets[n]:n})

def scan(word):
word=word.lower()
c=""
spec_char='''[]{}#%^^*+=_\|~<>€0987654321 £¥•- :;()$&@".,?!'''
for char in word:
if char not in spec_char:
c+=char
return c



#table letter scanner

def f(x,y):
x=int(x)
y=int(y)
return table[x][y]

#decrypter??????????????
def decrypt(msg,key):

length_msg=len(msg)
key_length=len(key)
key*=(length_msg//key_length)+1
key=key[:length_msg]

c=""

k=[]

for n in range(length_msg):
k.append(index[key[n]])

res=[]

for n in range(length_msg):
for i in range(97):
if table[k[n]][i] == msg[n]:
res.append(table[i][0])

result="".join(res)
# print(result)
return result



#encrypter???????????????

def encrypt(msg,key):
spec_char='''[]{}#%^^*+=_\|~<>€0987654321 £¥•- :;()$&@".,?!'''
length_msg=len(msg)
key_length=len(key)
key*=(length_msg//key_length)+1
key=key[:length_msg]

c=""

m=[]
k=[]

for n in range(length_msg):
m.append(index[msg[n]])
k.append(index[key[n]])

for n in range(length_msg):
c+=f(m[n],k[n])

# print(c)
return c


a = encrypt("my name is ansah","mak")
print(a)
c = decrypt(a,"mak")
print(c)

0 comments on commit 0dba68e

Please sign in to comment.