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抓取百度首页的方法
May 19 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Python Web编程之WSGI协议简介
Jul 18 Python
python3调用百度翻译API实现实时翻译
Aug 16 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
Python分支语句与循环语句应用实例分析
May 07 Python
wxPython实现绘图小例子
Nov 19 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
零基础小白多久能学会python
Jun 22 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
星际争霸任务指南——神族
2020/03/04 星际争霸
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
企业门卫岗位职责
2013/12/12 职场文书
初三化学教学反思
2014/01/23 职场文书
假释思想汇报范文
2014/10/11 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
党员转正介绍人意见
2015/06/03 职场文书
高一作文之乐趣
2019/11/21 职场文书