get filename programmatically
This commit is contained in:
		
							
								
								
									
										68
									
								
								vignere.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										68
									
								
								vignere.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
#!/usr/bin/python3
 | 
			
		||||
import sys, getopt, os
 | 
			
		||||
 | 
			
		||||
def encrypt(string,key):
 | 
			
		||||
    lowerstr=string.lower()
 | 
			
		||||
    print("Encrypting "+lowerstr+" with key "+key)
 | 
			
		||||
    strnums = []
 | 
			
		||||
    keynums = []
 | 
			
		||||
    resultnums = []
 | 
			
		||||
    resultstring = ""
 | 
			
		||||
    for c in lowerstr:
 | 
			
		||||
        strnums.append(ord(c)-97)
 | 
			
		||||
    print(strnums)
 | 
			
		||||
    for c in key:
 | 
			
		||||
        keynums.append(ord(c)-97)
 | 
			
		||||
    print(keynums)
 | 
			
		||||
    keypointer=0
 | 
			
		||||
    for n in strnums:
 | 
			
		||||
        resultnums.append((n+keynums[keypointer])%26)
 | 
			
		||||
        keypointer = (keypointer+1) % (len(key))
 | 
			
		||||
    print(resultnums)
 | 
			
		||||
    for c in resultnums:
 | 
			
		||||
        resultstring = resultstring+chr(c+97)
 | 
			
		||||
    print(resultstring)
 | 
			
		||||
 | 
			
		||||
def decrypt(string,key):
 | 
			
		||||
    lowerstr=string.lower()
 | 
			
		||||
    print("Decrypting "+lowerstr+" with key "+key)
 | 
			
		||||
    strnums = []
 | 
			
		||||
    keynums = []
 | 
			
		||||
    resultnums = []
 | 
			
		||||
    resultstring = ""
 | 
			
		||||
    for c in lowerstr:
 | 
			
		||||
        strnums.append(ord(c)-97)
 | 
			
		||||
    print(strnums)
 | 
			
		||||
    for c in key:
 | 
			
		||||
        keynums.append(ord(c)-97)
 | 
			
		||||
    print(keynums)
 | 
			
		||||
    keypointer=0
 | 
			
		||||
    for n in strnums:
 | 
			
		||||
        resultnums.append((n-keynums[keypointer])%26)
 | 
			
		||||
        keypointer = (keypointer+1) % (len(key))
 | 
			
		||||
    print(resultnums)
 | 
			
		||||
    for c in resultnums:
 | 
			
		||||
        resultstring = resultstring+chr(c+97)
 | 
			
		||||
    print(resultstring)
 | 
			
		||||
 | 
			
		||||
def main(argv):
 | 
			
		||||
    key = ""
 | 
			
		||||
    try:
 | 
			
		||||
        opts, args = getopt.getopt(argv,"hk:e:d:",["key=","encrypt=","decrypt="])
 | 
			
		||||
    except getopt.GetoptError:
 | 
			
		||||
        print(os.path.basename(__file__)+' -k <key> -e <plain text>')
 | 
			
		||||
        print(os.path.basename(__file__)+' -k <key> -d <encrypted text>')
 | 
			
		||||
        sys.exit(2)
 | 
			
		||||
    for opt, arg in opts:
 | 
			
		||||
        if opt == '-h':
 | 
			
		||||
            print(os.path.basename(__file__)+' -k <key> -e <plain text>')
 | 
			
		||||
            print(os.path.basename(__file__)+' -k <key> -d <encrypted text>')
 | 
			
		||||
            sys.exit()
 | 
			
		||||
        elif opt in ("-k", "--key"):
 | 
			
		||||
            key = arg
 | 
			
		||||
        elif opt in ("-e", "--encrypt"):
 | 
			
		||||
            encrypt(arg,key)
 | 
			
		||||
        elif opt in ("-d", "--decrypt"):
 | 
			
		||||
            decrypt(arg,key)
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    main(sys.argv[1:])
 | 
			
		||||
		Reference in New Issue
	
	Block a user