Python DES 加密解密,就是大家所谓想要的那个非常快速的方法

这个要借助Crypto.Cipher这个插件来实现的,引用后只需要写如下代码即可

 1 from Crypto.Cipher import DES
 2
 3 class MyDESCrypt:
 4
 5     key = chr(11)+chr(11)+chr(11)+chr(11)+chr(11)+chr(11)+chr(11)+chr(11)
 6     iv = chr(22)+chr(22)+chr(22)+chr(22)+chr(22)+chr(22)+chr(22)+chr(22)
 7
 8     def __init__(self,key=‘‘,iv=‘‘):
 9         if len(key)> 0:
10             self.key = key
11         if len(iv)>0 :
12             self.iv = iv
13
14     def ecrypt(self,ecryptText):
15        try:
16            cipherX = DES.new(self.key, DES.MODE_CBC, self.iv)
17            pad = 8 - len(ecryptText) % 8
18            padStr = ""
19            for i in range(pad):
20               padStr = padStr + chr(pad)
21            ecryptText = ecryptText + padStr
22            x = cipherX.encrypt(ecryptText)
23            return x.encode(‘hex_codec‘).upper()
24        except:
25            return ""
26
27
28     def decrypt(self,decryptText):
29         try:
30
31             cipherX = DES.new(self.key, DES.MODE_CBC, self.iv)
32             str = decryptText.decode(‘hex_codec‘)
33             y = cipherX.decrypt(str)
34             return y[0:ord(y[len(y)-1])*-1]
35         except:
36             return ""
时间: 2024-12-09 10:55:54

Python DES 加密解密,就是大家所谓想要的那个非常快速的方法的相关文章

des加密解密——java加密,php解密

最近在做项目中,遇到des加密解密的问题. 场景是安卓app端用des加密,php这边需要解密.之前没有接触过des这种加密解密算法,但想着肯定会有demo.因此百度,搜了代码来用.网上代码也是鱼龙混杂,好不容易测试在php这边测试加密和解密成功了.为确保安卓app端提交过来的加密参数能够解密出来,给定安卓人员一个字符串,让他们把des加密后的字符串给我,在php这边解密.结果一看,加密出来的字符串跟我这边加密出来的结果不一致,自然是解密不出来. 要来java的des算法代码,研究加密的过程,其

DES加密解密算法

DES加密解密算法 // 仿射变换加解密.cpp : 定义控制台应用程序的入口点. // #include <stdio.h> #include <conio.h> static char key[10], key_a[5], code[8], key_b[5], temp[10], key_aa[8], key_bb[8], l[4], r[4], l_a[4], r_a[4], V[8] = { 0, 1, 0, 1, 0, 1, 0, 1 }, b[8]; char Code

兼容PHP和Java的des加密解密代码分享

这篇文章主要介绍了兼容PHP和Java的des加密解密代码分享,适合如服务器是JAVA语言编写,客户端是PHP编写,并需要des加密解密的情况,需要的朋友可以参考下 php <?php class DES { var $key; var $iv; //偏移量 function DES($key, $iv=0) { $this->key = $key; if($iv == 0) { $this->iv = $key; } else { $this->iv = $iv; } } //加

DES加密解密帮助类

public class DESCrypto { /// <summary> /// 初始化des实例秘钥及向量 /// </summary> /// <param name="key"></param> /// <returns></returns> private static DESCryptoServiceProvider InitDESInstance(string key) { DESCryptoSer

DES加密解密的C++源程序

DES加密解密的C++源程序 --测试版本,希望大家多多交流 #include<iostream.h> #include"stdio.h" #include"math.h" #include "string.h" static char key[16][48]; static char Hex[16][4]; ////IP置换. int IP[64]= { 58,50,42,34,26,18,10,2,\ 60,52,44,36,28

DES加密解密字符串的JAVA实现(lp)

野火烧不尽,春风吹又生.众里寻他千百度,蓦然回首,那人却在灯火阑珊处.天作孽,犹可违,自作孽,不可活.山高月小,水落石出.晴川历历汉阳树,芳草萋萋鹦鹉洲. package test.des2.tt; /** * * 这个是真正实用的.修正了以前方法的只加密了前8位正确的bug. */ import java.security.*; import javax.crypto.*; public class DESPlus { private static String strDefaultKey =

C# Java DES加密解密

c#代码: public class DESHelper    {          /// <summary>        /// DES加密算法        /// </summary>        /// <param name="encryptString">要加密的字符串</param>        /// <param name="sKey">加密码Key</param>  

.net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密

写项目时,后台一直用md5加密,一天群里人问,除了MD5还有其它的加密方法吗?当时只知道还有个SHA,但怎么实现什么的都不清楚,于是当网上找了下,把几种常见的加密方法都整理了下,用winform写了个程序,如图: 关键代码 using System.Security;using System.Security.Cryptography;using System.Web;using System.IO; //MD5 不区分大小写的        //type 类型,16位还是32位,16位就是取3

php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密

PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文:解密的时候需要128个字符解密一下,然后拼接成数据. 加密: /** * 加密 * @param $originalData * @return string|void */ /*function encrypt($originalData){ // if (openssl_private_encrypt($originalData, $encryptD