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自动化测试工具Splinter简介和使用实例
May 13 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
使用Python绘制图表大全总结
Feb 11 Python
Python星号*与**用法分析
Feb 02 Python
python版DDOS攻击脚本
Jun 12 Python
Django中的静态文件管理过程解析
Aug 01 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
python实现梯度下降和逻辑回归
Mar 24 Python
如何基于Django实现上下文章跳转
Sep 16 Python
python 实现简单的计算器(gui界面)
Nov 11 Python
Python简易开发之制作计算器
Apr 28 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
TMDPHP 模板引擎使用教程
2012/03/13 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
js表数据排序 sort table data
2009/02/18 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
Django在win10下的安装并创建工程
2017/11/20 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
python如何让类支持比较运算
2018/03/20 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
用python实现刷点击率的示例代码
2019/02/21 Python
python 堆和优先队列的使用详解
2019/03/05 Python
python实现多线程端口扫描
2019/08/31 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
聊聊python中的循环遍历
2020/09/07 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
七年级政治教学反思
2014/02/03 职场文书
政风行风建设整改方案
2014/10/27 职场文书
党支部先进事迹材料
2014/12/24 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
nginx配置限速限流基于内置模块
2022/05/02 Servers