python实现简单加密解密机制


Posted in Python onMarch 19, 2019

本文使用python实现一个简单的加密解密机制。

描述:结合26个字母、以一个单词作为秘钥,使用python实现简单的加密解密机制

秘钥:大写的英文字符串

明文:包含空格、大小写字母、数字等的字符串

代码实现:

# -*- coding: utf-8 -*-
import os,sys 
reload(sys) 
sys.setdefaultencoding('utf8') 
import string
 
def suanfa(key):
  alp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  jiami_key = {}
  jiemi_key = {}
 
  list0 = list(alp)
  list1 = list(key)
  list2 = list(alp)
  for n in list1:
    for m in list2:
      if m == n:
        list2.remove(m)
 
  alp1 = ''.join(list2)
  key1 = key + alp1
  list3 = list(key1)
 
  a = 0
  if a < len(list0):
    for m in list0:
      jiami_key[m] = list3[a]
      a = a + 1
  
  b = 0
  if b < len(list3):
    for n in list3:
      jiemi_key[n] = list0[b]
      b = b + 1
  
  #print jiami_key
  #print jiemi_key
  return jiami_key, jiemi_key 
 
def bianma(key_dic, data):
  list_data = list(data)
  data1 = []
  for a in list_data:
     if a == ' ':
       data1.append(a)
 
     elif a.islower():
       a = a.upper()
       if key_dic.has_key(a):
         x = key_dic[a]
         data1.append(x.lower())
 
     elif a.isupper():
       if key_dic.has_key(a):
         x = key_dic[a]
         data1.append(x)
     else:
       data1.append(a)
 
  data2 = ''.join(data1)
  #print data2
  return data2
 
def main():
  key = 'ZDFKJMNX'
  data = 'a bdcd sFDGDSGFDG113243 3'
  print "秘钥:" + key
  print "明文:" + data
 
  jiami_key, jiemi_key = suanfa(key)
  miwen = bianma(jiami_key, data)
  mingwen = bianma(jiemi_key, miwen)
 
  print "加密明文所得的密文:" + miwen
  print "解密密文所得的明文:" + mingwen
  return True
 
if __name__ == "__main__":
  main()

运行结果:

# python jiami.py 
秘钥:ZDFKJMNX
明文:a bdcd sFDGDSGFDG113243 3
加密明文所得的密文:z dkfk qMKNKQNMKN113243 3
解密密文所得的明文:a bdcd sFDGDSGFDG113243 3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python复制文件代码实现
Dec 23 Python
python对url格式解析的方法
May 13 Python
python递归删除指定目录及其所有内容的方法
Jan 13 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
python调用百度语音识别api
Aug 30 Python
python模式 工厂模式原理及实例详解
Feb 11 Python
Python ConfigParser模块的使用示例
Oct 12 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
详解matplotlib绘图样式(style)初探
Feb 03 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 Python
详解Python中的for循环
Apr 30 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 #Python
python异步存储数据详解
Mar 19 #Python
利用Python半自动化生成Nessus报告的方法
Mar 19 #Python
python实现手机销售管理系统
Mar 19 #Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 #Python
python学生管理系统学习笔记
Mar 19 #Python
Python操作rabbitMQ的示例代码
Mar 19 #Python
You might like
模仿OSO的论坛(二)
2006/10/09 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
php获取远程文件大小
2015/10/20 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
python三元运算符实现方法
2013/12/17 Python
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
学习python的前途 python挣钱
2019/02/27 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
实习医生自我评价
2013/09/22 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
留学顾问岗位职责
2014/04/14 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript