加密 Python - 加密字符串

Encryption Python - encrypting a string

使用此程序去除空格、标点符号并将字母变为小写...

def pre_process(s):
    s= s.replace("'","")
    s= s.replace('.','')
    s= s.lower()
    s= s.replace(" ","")
    return s

我如何加密一条消息,使每个字母的移动量等于字母表中的相应字母? ex) 'm' 移动 5 变为 'r' 但 'w' 移动 5 变为 'b'?

你必须做一些 ordchr 技巧才能做你想做的事。基本上,这两个函数return你的字母的整数表示,分别输出整数表示对应的字母。

def pre_process(s):
    s= s.replace("'","")
    s= s.replace('.','')
    s= s.lower()
    s= s.replace(" ","")

    mystring = ""
    for letter in s:
        shift = 5
        r = ord(letter)+shift
        if (r > ord('z')):
            r -= 26
        mystring += (chr(r))
    return mystring

这可能对你有帮助...只要改变encrypt函数中shifter的值就可以得到对应的shift

def shift(char,shift_by):
    val=ord(char) #gives ascii value of charecter
    val+=shift_by
    if(val>122):
        val=97+(val-122-1)
    return(chr(val))

def encrypt_string(str):
    shifter=2 #change to value of shifter here
    encrypted_string=""
    for i in str :
        if( (ord(i)>=97) and (ord(i)<=122) ):
            i=shift(i,shifter)
        encrypted_string+=i
    return(encrypted_string)