全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python基于pyDes库实现des加密的方法

本文实例讲述了python基于pyDes库实现des加密的方法。分享给大家供大家参考,具体如下:

下载及简介地址:https://twhiteman.netfirms.com/des.html

如需要在python中使用des加密,可以直接使用pyDes库加密,该库提供了CBCECB两种加密方式。

1、Windows下安装

下载后pyDes-x.x.x.zip并解压后,里面有setup.py文件,使用命令 setup.py --help可查看详细使用。

你可以使用命令python setup.py install命令安装,也可以直接将压缩包内的pyDes.py拷贝到本地的python lib库下直接开始使用

2、 使用

使用参数如下(拷贝自上述提供的地址):

Class initialization
--------------------
pyDes.des(key, [mode], [IV], [pad], [padmode])
pyDes.triple_des(key, [mode], [IV], [pad], [padmode])
key     -> Bytes containing the encryption key. 8 bytes for DES, 16 or 24 bytes
    for Triple DES
mode    -> Optional argument for encryption type, can be either
    pyDes.ECB (Electronic Code Book) or pyDes.CBC (Cypher Block Chaining)
IV      -> Optional Initial Value bytes, must be supplied if using CBC mode.
    Length must be 8 bytes.
pad     -> Optional argument, set the pad character (PAD_NORMAL) to use during
    all encrypt/decrpt operations done with this instance.
padmode -> Optional argument, set the padding mode (PAD_NORMAL or PAD_PKCS5)
    to use during all encrypt/decrpt operations done with this instance.
I recommend to use PAD_PKCS5 padding, as then you never need to worry about any
padding issues, as the padding can be removed unambiguously upon decrypting
data that was encrypted using PAD_PKCS5 padmode.

Common methods
--------------
encrypt(data, [pad], [padmode])
decrypt(data, [pad], [padmode])
data    -> Bytes to be encrypted/decrypted
pad     -> Optional argument. Only when using padmode of PAD_NORMAL. For
    encryption, adds this characters to the end of the data block when
    data is not a multiple of 8 bytes. For decryption, will remove the
    trailing characters that match this pad character from the last 8
    bytes of the unencrypted data block.
padmode -> Optional argument, set the padding mode, must be one of PAD_NORMAL
    or PAD_PKCS5). Defaults to PAD_NORMAL

Example:

from pyDes import *
# For Python3, you'll need to use bytes, i.e.:
#  data = b"Please encrypt my data"
#  k = des(b"DESCRYPT", CBC, b"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
data = "Please encrypt my data"
k = des("DESCRYPT", CBC, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)
print "Encrypted: %r" % d
print "Decrypted: %r" % k.decrypt(d)
assert k.decrypt(d, padmode=PAD_PKCS5) == dat

以下是本人使用的例子,使用CBC加密的方式:

import base64
from pyDes import *
Des_Key = "BHC#@*UM" # Key
Des_IV = "\x22\x33\x35\x81\xBC\x38\x5A\xE7" # 自定IV向量
def DesEncrypt(str):
  k = des(Des_Key, CBC, Des_IV, pad=None, padmode=PAD_PKCS5)
  EncryptStr = k.encrypt(str)
  return base64.b64encode(EncryptStr) #转base64编码返回

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

MD5在线加密工具:
http://tools./password/CreateMD5Password

迅雷、快车、旋风URL加密/解密工具:
http://tools./password/urlrethunder

在线散列/哈希算法加密工具:
http://tools./password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools./password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools./password/sha_encode

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# python  # pyDes库  # des加密  # Python DES加密实现原理及实例解析  # Python实现常见的几种加密算法(MD5  # SHA-1  # HMAC  # DES/AES  # RSA和ECC)  # python DES加密与解密及hex输出和bs64格式输出的实现代码  # Python Des加密解密如何实现软件注册码机器码  # DES加密解密算法之python实现版(图文并茂)  # Python3对称加密算法AES、DES3实例详解  # Python和Java进行DES加密和解密的实例  # python实现DES加密解密方法实例详解  # python实现的DES加密算法和3DES加密算法实例  # Python基于DES算法加密解密实例  # python如何实现DES加密  # 加密工具  # 感兴趣  # 操作技巧  # 可以直接  # 进阶  # 相关内容  # 还可以  # 你可以  # 两种  # 要在  # 数据结构  # 给大家  # 如需  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 自定  # 加密解密  # 编程技巧 


相关文章: 实例解析angularjs的filter过滤器  如何用PHP快速搭建CMS系统?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  网站专业制作公司有哪些,做一个公司网站要多少钱?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  建站之星安装路径如何正确选择及配置?  北京的网站制作公司有哪些,哪个视频网站最好?  建站之星后台密码如何安全设置与找回?  如何快速搭建高效简练网站?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  免费视频制作网站,更新又快又好的免费电影网站?  如何选择高效响应式自助建站源码系统?  南京网站制作费用,南京远驱官方网站?  建站DNS解析失败?如何正确配置域名服务器?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  h5在线制作网站电脑版下载,h5网页制作软件?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  智能起名网站制作软件有哪些,制作logo的软件?  Python lxml的etree和ElementTree有什么区别  如何选择香港主机高效搭建外贸独立站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  山东云建站价格为何差异显著?  长沙做网站要多少钱,长沙国安网络怎么样?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  制作网站的基本流程,设计网站的软件是什么?  如何用PHP快速搭建高效网站?分步指南  代刷网站制作软件,别人代刷火车票靠谱吗?  如何选择可靠的免备案建站服务器?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  魔方云NAT建站如何实现端口转发?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  SQL查询语句优化的实用方法总结  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何通过VPS建站无需域名直接访问?  ,如何利用word制作宣传手册?  网站图片在线制作软件,怎么在图片上做链接?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  如何制作一个表白网站视频,关于勇敢表白的小标题?  ,制作一个手机app网站要多少钱?  手机网站制作与建设方案,手机网站如何建设?  深入理解Android中的xmlns:tools属性  建站主机系统SEO优化与智能配置核心关键词操作指南  宝塔面板如何快速创建新站点?  如何快速生成高效建站系统源代码?  如何通过远程VPS快速搭建个人网站?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  建站之星备案是否影响网站上线时间?  建站主机选购指南与交易推荐:核心配置解析  表情包在线制作网站免费,表情包怎么弄? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。