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之重回函数
Oct 10 Python
Python正则表达式如何进行字符串替换实例
Dec 28 Python
Python切片操作深入详解
Jul 27 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
django-allauth入门学习和使用详解
Jul 03 Python
Python简易计算器制作方法代码详解
Oct 31 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
解决Django Haystack全文检索为空的问题
May 19 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
Python 正则模块详情
Nov 02 Python
python前后端自定义分页器
Apr 13 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/03/24 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
javascript instanceof 内部机制探析
2010/10/15 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
解释&amp;&amp;和||在javascript中的另类用法
2014/07/28 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
Python列表list数组array用法实例解析
2014/10/28 Python
python爬虫如何解决图片验证码
2021/02/14 Python
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
《理想的风筝》教学反思
2014/04/11 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js