几种常用加密手段的加密与解密

网络中传输敏感信息的时候通常会对字符串做加密解密处理

1.Base64位加密(可加密解密)
    最简单的加密方式,没有密钥,这种方式只要让别人拿到你的密文,就可以直接解密,只能用来迷惑,一般情况下不单独使用,因为真的并没有什么卵用~可以和其他加密方式混合起来,作为一层外部包装。
import base64
data = 'abc'
#加密
m = Base64.encodestring(data)
print m        #得到一个base64的值
#解密
date = Base64.decodestring(m)

2.MD5加密(加密不可逆)
    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)。128位长度。目前MD5是一种不可逆算法。具有很高的安全性。它对应任何字符串都可以加密成一段唯一的固定长度的代码。(小贴士:为啥MD5加密算法不可逆呢~ 按道理来说有加密方式,就会有解密方式呀?因为MD5加密是有种有损的加密方式,比如一段数据为'123',我在加密的时候,遇到1和3都直接当做是a,加密后变成了'a2a',所以解密的时候就出现了4种组合'323''121''123''321',数据一多,自然找不到原始的数据了,当然这种方式加密的密文也不需要解密,需要的时候直接发送原始密文就好了~只是看不到密文原本的内容)
import hashlib
import base64
data1 = 'abc'
data2 = 'def'
hash = hashlib.md5()
#多个文件多次加密
hash.update(data1)
hash.update(data2)
value = hash.digest()
print repr(value)        #得到一个二进制的字符串
print hash.hexdigest()     #得到一个十六进制的字符串
print base64.encodestring(value)    #得到base64的值

3.sha1加密(加密不可逆)
    SHA1的全称是Secure Hash Algorithm(安全哈希算法) 。SHA1基于MD5,加密后的数据长度更长。它对长度小于264的输入,产生长度为160bit的散列值。比MD5多32位。因此,比MD5更加安全,但SHA1的运算速度就比MD5要慢了。使用方法和MD5其实是一样的~ 
import hashlib
#单个文件一次加密
value = hashlib.sha1('This is a sha1 test!').hexdigest()
print value       #得到一个十六进制的字符串

4.AES加密(需要密钥才能解密)
    AES加密为对称密钥加密,加密和解密都是用同一个解密规则,AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为'状态(state)',因为密钥和加密块要在矩阵上多次的迭代,置换,组合,所以对加密快和密钥的字节数都有一定的要求,AES密钥长度的最少支持为128、192、256,加密块分组长度128位。这种加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无法解密。保存和传递密钥,就成了最头疼的问题。 

from Crypto.Cipher import AES
#密钥必须是16,24,32位的
key  = '1234567890123456'     
data = 'abc'
BS = 16
#加密函数,如果text不足16位就补足为16位,
pad = lambda s: s + (BS-len(s) % BS) * chr(BS - len(s) % BS)
#加密
cipher = AES.new(key)
encrypted = cipher.encrypt(pad(m))
#解密
cipher = AES.new(key)
encrypted = cipher.decrypt(pad(m))

5.RSA加密(公钥加密,私钥解密)
        它是目前最重要的加密算法!计算机通信安全的基石,保证了加密数据不会被破解。你可以想象一下,信用卡交易被破解的后果。甲乙双方通讯,乙方生成公钥和私钥,甲方获取公钥,并对信息加密(公钥是公开的,任何人都可以获取),甲方用公钥对信息进行加密,此时加密后的信息只有私钥才可以破解,所以只要私钥不泄漏,就能保证信息的安全性。
import rsa 
# 先生成一对密钥,然后保存.pem格式文件,当然也可以直接使用 
(pubkey, privkey) = rsa.newkeys(1024) 
pub = pubkey.save_pkcs1() 
pubfile = open('public.pem','w+')
pubfile.write(pub)
pubfile.close()
pri = privkey.save_pkcs1()
prifile = open('private.pem','w+')
prifile.write(pri)
prifile.close()

# load公钥和密钥
message = 'hello'
with open('public.pem') as publickfile:
p = publickfile.read()
pubkey = rsa.PublicKey.load_pkcs1(p)
with open('private.pem') as privatefile:
p = privatefile.read()
privkey = rsa.PrivateKey.load_pkcs1(p)
 
# 用公钥加密、再用私钥解密
crypto = rsa.encrypt(message, pubkey)
message = rsa.decrypt(crypto, privkey)
print message
 
# sign 用私钥签名认真、再用公钥验证签名
signature = rsa.sign(message, privkey, 'SHA-1')
rsa.verify('hello', signature, pubkey)

(0)

相关推荐

  • RSA原理及各种题型总结

    RSA原理及各种题型总结 Table of Contents 一,原理: 信息传递的过程: rsa加密的过程: 二,CTF 中的 常见的十种类型: 1,已知 p ,q,e   求 d? 2,已知 n( ...

  • 网科上网行为管理操作文档

    山石网科上网行为管理操作文档 一:登录 上网行为管理登录地址:https://192.168.5.2/ 用户名:guest 密码:guest@123 图 1 登录页面 二:用户组织结构管理 依次选择& ...

  • 数字签名与加密算法-上【mix指南之区块链】

    为什么要开一个区块链的系列?引用mixlab社区里的熊叔(ML94)的话: " 如果把人比作手机,价值观.态度和习惯是这个操作系统底层,领域技能更像是系统上的app.技能不会的话装一个就好, ...

  • 领导逼迫员工辞职,会有这三种比较常用的手段,让员工防不胜防

    如今有很多员工在进入职场工作之后都渴望自己升职加薪,但是有些大学生在刚刚找到新的工作以后,他们其实对于工作还是非常上心的,只是一些老板喜欢欺负员工占员工的便宜,导致员工在职场中被欺负被利用. 女大学生 ...

  • 过敏性鼻炎折磨人,常用治疗手段有4种,早知道早好

    过敏性鼻炎是比较常见的一种疾病,在特定的季节发病率很高,患者通常会出现流鼻涕,鼻痒以及频繁打喷嚏等症状,尤其到了感染的高发期,鼻炎患者会感觉到明显的不适症状,严重者还会有鼻子出血现象. 过敏性皮炎在治 ...

  • 带你见识5种常用的价格欺诈手段,以后买房可别再被骗了!

    一.恶意哄抬价格 在房地产市场中,开发商最常用的欺诈手段就是恶意哄抬价格,即使用虚假交易.虚假宣传等方式,谎报销售进度,给购房者一种供不应求的假象.再加上捏造.散布涨价信息等不正当手段,从而恶意抬高房 ...

  • 领导收拾下属的4种常用手段,希望你没遇到...

    领导收拾下属的4种常用手段,希望你没遇到!   1. 直接撕破脸地骂你.这种手段是最明显.最容易看出来的,但这一招也是对一些涉世未深或者性格耿直的人最有用的,明眼人一看都知道,这是领导在收拾自己了,如 ...

  • 杠精10种常用手段,你见识过了吗?

    杠精10种常用手段,你见识过了吗?

  • 你“不能不知道”的10种常用价廉中成药,...

    你"不能不知道"的10种常用价廉中成药,为你省下一半住院费,赶紧收藏. 1.益胆片--消炎解热.解痉镇痛--[不能不知道] 2.利肝片--清肝利胆.除湿退黄--[不能不知道] 3. ...

  • 5种常用的拍摄构图方法!快收藏~

    摄影中构图的方法和种类很多,多达十几种,我们今天就介绍5个常用的构图方法. 要知道掌握了这些构图方法,百分之90以上的题材拍摄都可以运用自如啦! 三分线构图 又称九宫格构图,将画面利用横竖两条线分为九 ...

  • 这9种常用农药,能干掉90%的病虫害!

    农业生产最怕的就是遇见病虫害,最可恨的是病虫害类型繁多,有时遇到了却不能"对症下药",最终影响农作物生长及其产量. 今天,给大家分享的这8种农药用途,看明白后,大部分病虫害都能防治 ...

  • 400种常用中成药功效大全(表格版)

    导读 中成药是以中草药为原料,经制剂加工制成各种不同剂型的中药制品,包括丸.散.膏.丹各种剂型.本文全面总结了各个类型的中成药及其功效,希望对大家有所帮助. 解表药 以下中成药供医学专业者参考,请读者 ...