Python 加密解密算法

呃,今天来看看加密和解密,本文讨论base64和hashlib库:

来看看HASHLIB,他是一种单向摘要出定长字符串的方法:

撸代码:

In [18]: import time,hashlib

In [19]: t = int(time.time())

In [20]: t
Out[20]: 1495597851

In [21]: md = hashlib.md5(‘test%s‘ %t)

In [22]: md.hexdigest()
Out[22]: ‘8ed81a627d94055cd34d3e7e1d2fed72‘

In [23]: md = hashlib.md5(‘test%s‘ %t)

In [24]: md.hexdigest()
Out[24]: ‘8ed81a627d94055cd34d3e7e1d2fed72‘

In [25]: md = hashlib.md5(‘test123%s‘ %t)

In [26]: md.hexdigest()
Out[26]: ‘554aac9fa6ba5a5821f6a80e840b6b36‘

In [27]: md = hashlib.md5(‘test123%s‘ %t)

In [28]: md.hexdigest()
Out[28]: ‘554aac9fa6ba5a5821f6a80e840b6b36‘

相同字符串md5加密后的16进制是一致的

接下来看base64

In [29]: import base64

In [30]: base64.b64encode(‘123456‘)
Out[30]: ‘MTIzNDU2‘

In [31]: base64.b64decode(‘MTIzNDU2‘)
Out[31]: ‘123456‘

可以反向计算的

两者结合使用,嘻嘻嘻

时间: 2024-10-27 02:55:35

Python 加密解密算法的相关文章

python加密解密

转自:[Python] 字符串加密解密  作者:lovebread 1. 最简单的方法是用base64: import base64 s1 = base64.encodestring('hello world')s2 = base64.decodestring(s1)print s1,s2 # aGVsbG8gd29ybGQ=\n# hello world Note: 这是最简单的方法了,但是不够保险,因为如果别人拿到你的密文,也可以自己解密来得到明文   2. 第二种方法是使用win32com

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通用AES加密解密算法

php与java通用AES加密解密算法 AES指高级加密标准(Advanced Encryption Standard),是当前最流行的一种密码算法,在web应用开发,特别是对外提供接口时经常会用到,下面是我整理的一套php与java通用的AES加密解密算法. php版代码如下: <?php class CryptAES { protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB; protected

java加密解密算法位运算

一.实例说明 本实例通过位运算的异或运算符 “ ^ ” 把字符串与一个指定的值进行异或运算,从而改变每个字符串中字符的值,这样就可以得到一个加密后的字符串.当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串还原为原有字符串的值.效果图如下: 二.实现过程 1 package com.itxxz; 2 3 import java.util.Scanner; 4 5 /** 6 * java加密解密算法 7 * 8 * @author 螃蟹 9 * 网站:IT学习者 10 * 网址:ht

java/php DES/CBC/PKCS5Padding加密解密算法实现过程

先看java代码 Java代码   public static String encrypt(String message, String key) throws Exception { Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8")); SecretKeyFactory k

RC4加密解密算法

RC4相对是速度快.安全性高的加密算法.在实际应用中,我们可以对安全系数要求高的文本进行多重加密,这样破解就有一定困难了.如下测试给出了先用RC4加密,然后再次用BASE64编码,这样双重锁定,保证数据信息安全(个人见解,不周之处请谅解!). package com.bao.tools.encryption; import java.io.Console;import java.io.IOException;import java.util.Scanner; import org.junit.T

java 实现 DES加密 解密算法

DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种:加密或解密.  DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果:如 Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果.在通信网络的两端,双方约定一致

一次一密加密解密算法

static int MAX=100; static char[] key=new char[MAX]; //用于保存密钥 static int len; static char[] bitcode(char[] str) //一次一密加密算法 { int i; char[] wen; if((wen=new char[len+1])==null) { System.out.printf("申请内存失败!\n"); System.exit(1); } for(i=0;i<len;

数据的加密传输——单片机上实现TEA加密解密算法(转)

源:数据的加密传输——单片机上实现TEA加密解密算法 各位大侠在做数据传输时,有没有考虑过把数据加密起来进行传输,若在串口或者无线中把所要传的数据加密起来,岂不是增加了通信的安全性.常用的加密解密算法比如DES.RSA等,受限于单片机的内存和运算速度,实现起来比较困难,但一种叫TEA的加密算法特别适合单片机使用. TEA(Tiny Encryption Algorithm)是一种简单高效的加密算法,以加密解密速度快,实现简单著称.算法很简单,TEA算法每一次可以操作64-bit(8-byte),