手机键盘密码

简介: 手机键盘密码

手机键盘密码

  • 加密对象: 字母
  • 原理:
  • 就如同密码名字一样,根据手机九宫格键盘来加密的,比如a在第二个格子的第一个位置,故对应密文为"21", 同理,“m"密文文为"61”,如下:
  • 581f9577bbc94cf29684776aebd0ace2.png
  • 将密文的每个字符转为两个数字后,按顺序用空格隔开组成密文
  • 特点:
  • 密文是数字组成
  • 每组数字第一个范围为2~9,第二个范围为1~4
  • 代码
# write by 2021/7/23
# 手机键盘密码
import re
DIC = ["", "", " abc", " def", " ghi", " jkl", " mno", " pqrs", " tuv", " wxyz"]
def encrypt_p_keyboard(string):
    ciphertext = ""
    string = string.replace(" ", "")
    for i in string:
        for j in DIC:
            if i in j:
                ciphertext += str(DIC.index(j)) + str(j.index(i)) + " "
                break
        else:
            return -1
    return ciphertext[:-1]
def decrypt_p_keyboard(string):
    plaintext = ""
    string = string.replace(" ", "")
    test = re.findall("\d+", string)
    if not test or test[0] != string:
        return -1
    ciphertext_lis = re.findall("\d{2}", string)
    try:
        for i in ciphertext_lis:
            plaintext += DIC[int(i[0])][int(i[1])]
    except:
        return -1
    return plaintext
if __name__ == '__main__':
    ciphertext_ = encrypt_p_keyboard("keyboard")
    plaintext_ = decrypt_p_keyboard(ciphertext_)
    print(f"{plaintext_}: {ciphertext_}")
目录
相关文章
|
API Android开发 iOS开发
web: 手机键盘自动获取短信验证码,点击自动填充输入框
web: 手机键盘自动获取短信验证码,点击自动填充输入框
475 0
|
5月前
|
JavaScript 前端开发 数据安全/隐私保护
vue 前端 邮箱、密码、手机号码等输入验证规则
vue 前端 邮箱、密码、手机号码等输入验证规则
416 0
|
7月前
|
iOS开发
解决使用document.activeElement.blur()禁止弹出手机默认键盘ios版本17以上会出现闪屏问题
解决使用document.activeElement.blur()禁止弹出手机默认键盘ios版本17以上会出现闪屏问题
80 2
|
7月前
|
前端开发 JavaScript
解决使用document.activeElement.blur()禁止弹出手机默认键盘
解决使用document.activeElement.blur()禁止弹出手机默认键盘
151 1
|
7月前
|
JavaScript 数据安全/隐私保护
jquery正则表达式验证手机号密码和姓名字段
jquery正则表达式验证手机号密码和姓名字段
|
移动开发 小程序 Android开发
vue--ios手机input点击手机输入键盘顶起页面解决方案
vue--ios手机input点击手机输入键盘顶起页面解决方案
|
JavaScript
vue监听手机键盘搜索事件
vue监听手机键盘搜索事件
|
SQL 关系型数据库 MySQL
mysql更新密码字段为手机号后六位前面拼接上Q后面拼接上W然后md5加密
mysql更新密码字段为手机号后六位前面拼接上Q后面拼接上W然后md5加密
313 0
|
JavaScript
【Axure教程】手机键盘输入框原型
【Axure教程】手机键盘输入框原型
【Axure教程】手机键盘输入框原型