python加密字符串小写字母循环后错两位_Python简单加密程序:如何将Z循环回

我建议您使用模运算符来做您想要的。在python中是%字符。在模数数学中。X%Y告诉我们X/Y的余数是多少。例如。27%26是1。用这个你可以得到你想要的包裹。下面是加密单个字符的代码示例def encrypt_character( valToEncrypt, keyVal ):

# Update the character to be our standard Alphabet mapping

# A -> 0; B->1 ... Z -> 25

x = ord(valToEncrypt) - ord('A')

# Perform the Encryption

retVal = ( x + keyVal ) % 26

# Translate back to the standard ASCII mapping of the character

# for display in python and translate it back into a string

retVal = chr(retVal + ord('A'))

return retVal

# end encrypt_character

现在,如果我们在加密算法中输入字符“A”,密钥为13,则得到“N”,如图所示:

^{pr2}$

解密算法非常相似,只是你做减法而不是加法def decrypt_character( valToDecrypt, keyVal ):

# Update the character to be our standard Alphabet mapping

# A -> 0; B->1 ... Z -> 25

x = ord(valToDecrypt) - ord('A')

retVal = ( x - keyVal ) % 26

# Translate back to the standard ASCII mapping of the character

# for display in python and translate it back into a string

retVal = chr(retVal + ord('A'))

return retVal

要加密字符串,可以使用以下函数:

从重新导入子系统

def encrypt_消息(消息,密钥):

#将消息文本转换为包含所有空格和

#删除了标点符号。

明文=sub(r'[^A-Z]','',消息.上())

密文=“”charIndex = 0

# Encrypt the message 1 character at a time

while charIndex < len(plainText):

cipherText += \

encrypt_character( plainText[charIndex], key)

charIndex += 1

return cipherText

此函数可以调用:>>> encrypt_message("HELLO World!", key=23)

'EBIILTLOIA'

解密函数与加密函数非常相似,只是它调用解密实用程序而不是加密实用程序。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值