用python实现一个简单加密文本的程序

系统 1558 0

这个加密文本的程序需要以下用户输入:

1.要加密的文本text
2.正整数prime而有效的prime值包括:1,3,5,7,9,11,15,17,19,21,23,25
3.正整数number和字母移动位置n,其中n由下式给出:
(primer ∗ position of each letter + number)

例如,如果primer = 1,number = 1,则’A’将变为’B’
则:(1 * 0 ['A’的字母位置] + 1)= 1 ['B’的字母位置]。

  • 思路是首先由用户输入文本和两个加密值,先判断是否输入符合要求
            
              def check(text, prime, positiveInt):
    if not text.isalpha():
        print("text are not right!\n")
    prime = str(prime)
    if not prime.isdigit():
        print("prime are not right!\n")
    positiveInt = str(positiveInt)
    if not positiveInt.isdigit():
        print("positive number are not right!\n")


            
          
  • 然后检验其字母是大写还是小写然后匹配处位置作下标再分别代入公式后结果用append()函数加入列表即可:
            
              def transform(text, prime, positiveInt):
    PrimeArea = [1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25]
    lower_str = 'abcdefghigklmnopqrstuvwxyz'
    upper_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZ'
    str = []
    if prime not in PrimeArea:
        print("please enter right prime!!!\n")
    else:
        for item in range(len(text)):
            if text[item].isupper():
                for i in range(26):
                    if text[item] == upper_str[i]:
                        bposition = ((prime * i) + positiveInt) % 26
                        str.append(upper_str[bposition])

            elif text[item].islower():
                for i in range(26):
                    if text[item] == lower_str[i]:
                        bposition = ((prime * i) + positiveInt) % 26
                        str.append(lower_str[bposition])
            else:
                print("error text!!!\n")
        print("".join(str))


            
          
  • 最后结果:
    用python实现一个简单加密文本的程序_第1张图片

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论