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中的字符串操作和编码Unicode详解
Jan 18 Python
Python求出0~100以内的所有素数
Jan 23 Python
python PyTorch预训练示例
Feb 11 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
详解python运行三种方式
May 13 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
python实现扑克牌交互式界面发牌程序
Apr 22 Python
Python datetime 如何处理时区信息
Sep 02 Python
python计算auc的方法
Sep 09 Python
python生成xml时规定dtd实例方法
Sep 21 Python
Python高阶函数与装饰器函数的深入讲解
Nov 10 Python
Python3中FuzzyWuzzy库实例用法
Nov 18 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
php中文字母数字验证码实现代码
2008/04/25 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
用Python配平化学方程式的方法
2019/07/20 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
考试作弊检讨
2015/01/27 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
详解Python中的进程和线程
2021/06/23 Python
nginx lua 操作 mysql
2022/05/15 Servers