python实现加密字符串_Python实现对字符串的加密解密方法示例

本文实例讲述了Python实现对字符串的加密解密方法。分享给大家供大家参考,具体如下:

需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错。

安装PyCrypto,可以用AES和DES。我使用DES加解密。加密后将密文转为16进制,在入库。测试代码如下。

; html-script: false ]#!/bin/python

#-*- coding:utf-8 -*-

# Filename:

# Revision:

# Date: 2013-06-07

# Author: simonzhang

# web: www.simonzhang.net

# Email: simon-zzm@163.com

### END INIT INFO

# easy_install PyCrypto

from binascii import b2a_hex, a2b_hex

from Crypto.Cipher import DES

key = '12345678' #长度必须是8位的

text = 'simonzhang.net ' #长度必须是8的倍数,我用空格补的

# 实例化

obj = DES.new(key)

# 加密

cryp = obj.encrypt(text)

pass_hex = b2a_hex(cryp)

print pass_hex

print '=' * 20

# 解密

get_cryp = a2b_hex(pass_hex)

after_text = obj.decrypt(get_cryp)

print after_text

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

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中可以使用多种方法进行字符串加密和解密操作。 一种常见的方法是使用`base64`模块进行编码和解码。编码可以将一个字符串转换为一串由大小写字母、数字和特殊字符组成的编码字符串,解码则可以将编码字符串还原为原始字符串。 下面是一个使用`base64`模块进行加密解密示例代码: ```python import base64 def encrypt_string(input_string): # 将字符串转换为字节流 bytes_string = input_string.encode('utf-8') # 使用base64编码字节流 encrypted_bytes = base64.b64encode(bytes_string) # 将编码字节流转换为字符串 encrypted_string = encrypted_bytes.decode('utf-8') return encrypted_string def decrypt_string(input_string): # 将字符串转换为字节流 bytes_string = input_string.encode('utf-8') # 使用base64解码字节流 decrypted_bytes = base64.b64decode(bytes_string) # 将解码字节流转换为字符串 decrypted_string = decrypted_bytes.decode('utf-8') return decrypted_string # 测试加密和解密功能 original_string = 'Hello, World!' encrypted_string = encrypt_string(original_string) decrypted_string = decrypt_string(encrypted_string) print('原始字符串:', original_string) print('加密后的字符串:', encrypted_string) print('解密后的字符串:', decrypted_string) ``` 另一种常见的加密方法是使用`hashlib`模块进行哈希加密。哈希函数将一个字符串转换为固定长度的哈希值,且哈希值是不可逆的。这意味着无法通过哈希值还原出原始字符串,只能通过比对哈希值来验证字符串的正确性。 下面是一个使用`hashlib`模块进行哈希加密示例代码: ```python import hashlib def encrypt_string(input_string): # 创建一个哈希对象 hash_object = hashlib.sha256() # 更新哈希对象的内容 hash_object.update(input_string.encode('utf-8')) # 获取哈希值 encrypted_string = hash_object.hexdigest() return encrypted_string # 测试加密功能 original_string = 'Hello, World!' encrypted_string = encrypt_string(original_string) print('原始字符串:', original_string) print('加密后的字符串:', encrypted_string) ``` 需要注意的是,哈希加密是不可逆的,所以无法通过解密函数获取原始字符串

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值