我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python字符串加密与解密

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python字符串加密与解密

符串进行加密与解密

设计应用程序时,为了防止一些敏感信息的泄露,通常需要对这些信息进行加密。

以用户的登录密码为例,如果密码以明文的形式存储在数据表中,很容易就会被人发现;相反,如果密码以密文的形式储存,即使别人从数据表中发现了密码,也是加密之后的密码,根本不能使用。通过对密码进行加密,能够极大地提高系统的保密性。


加密与解密:

加密的方法一经公开,就不成其为密. 所以你要你的加密方法还没有被破解,就可以使用.

加密就象是变戏法, 戏法人人会变,巧妙各有不同.

加密字符串的思路:

s1 = jiami ( s )

s 称为原文, s1 称为密文

如果从 s1 存在一个函数 ffjiami( s1 ) 求出 s , 称 jiami 是可逆变换. 否则称为不可逆变换.

本文介绍的是可逆变换加密方法的例子.

(1) 将字符串s 变为 bytearray 数组

b = byteaaray( s.encode( "gbk"))

(2) 将 b 经过某种变换 成为另一个 字节数组 c

关键是 这种变换应该是可逆的, 并且保证 c 能够通过 下面的第(3) 变为一个字符串.

(3) 将 c 转换成普通字符串

s1 = c.decode( "gbk")

( 4 ) 解密过程是上述过程的逆过程


#coding=gbk
# 字符串加密初探
# 入口 : s 要加密的串
# key 你的密钥 一个字节 1~255之间的整数
# 返回: 加密后的串
def jiaMi( s , key ):
b = bytearray( str(s).encode("gbk") )
n = len(b) # 求出 b 的字节数
c = bytearray( n*2 )
j = 0
for i in range( 0, n ):
b1 = b[i]
b2 = b1 ^ key # b1 = b2^ key
c1 = b2 % 16
c2 = b2 // 16 # b2= c2*16 + c1
c1 = c1 + 65
c2 = c2 + 65 # 由于c1,c2都是 0~15之间的数,
# 加上65就变成了A-P 的字符的编码
c[j] = c1
c[j+1] = c2
j = j+2
return c.decode("gbk")

def ffjiaMi( s, key ):
c = bytearray( str(s).encode("gbk") )
n = len(c) # 求出 b 的字节数
if n % 2 != 0 :
return ""
n = n // 2
b = bytearray( n )
j = 0
for i in range( 0, n ):
c1 = c[j]
c2 = c[j+1]
j = j+2
c1 = c1 - 65
c2 = c2 - 65
b2 = c2*16 + c1
b1 = b2^ key
b[i]= b1
try:
return b.decode("gbk")
except:
return "解密失败"

key = 15
s = "my dear black hole , haha! "
s1 = jiaMi( s, key )
s2 = ffjiaMi( s1,key )
print( "原文=", s)
print( "密文=", s1)
print( "解密:")
print( s2 )

-- 结果 ---

原文= my dear black hole , haha! 
密文= CGGHPCLGKGOGNHPCNGDGOGMGEGPCHGAGDGKGDCPCHGOGHGOGOC
解密: my dear black hole , haha!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python字符串加密与解密

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python字符串加密与解密

符串进行加密与解密 设计应用程序时,为了防止一些敏感信息的泄露,通常需要对这些信息进行加密。 以用户的登录密码为例,如果密码以明文的形式存储在数据表中,很容易就会被人发现;相反,如果密码以密文的形式储存,即使别人从数据表中
2023-01-31

Android 加密解密字符串详解

加密和解密的字符串: 代码如下:package eoe.demo; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.Key
2022-06-06

python字符串加密解密的方法是什么

Python中字符串加密解密的方法有很多种,常见的有以下几种:1. 替换法:将字符串中的每个字符按照事先定义好的规则进行替换,实现加密和解密。例如,可以将每个字符向后移动一定的位数,或者根据一个映射表进行替换。2. 异或运算:将字符串中的每
2023-09-04

Java对字符串进行加密解密

要求:   * 对用户输入的每个字符的值进行加密,将解密后的字符串输出   * 对用户输入的已加密字符串进行解密并输出实现代码:import java.util.Scanner;/** * 要求: * 1.对用户输入的每个字符的值进行
2023-05-31

Linux下实现 OpenSSL 简单加密与解密字符串

场景shell脚本中存在明文密码客户要求禁止使用明文密码,密码做加密处理.方案在网上了解到了Linux OpenSSL加密解密工具可以指定各种加密算法为字符,文件做加密处理.加密的案例比较多,解密的寥寥无几.有兴趣的可以去查下中文教程案例中
2023-06-05

python对字符串加密解密的方法是什么

Python中常用的字符串加密解密方法有以下几种:1. 使用base64模块进行加密解密:- 加密:使用`base64.b64encode()`方法将字符串编码为base64格式的字符串。- 解密:使用`base64.b64decode()
2023-08-24

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

本文实例讲述了Python实现对字符串的加密解密方法。分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错。 安装PyCrypto,可以用AES和DES
2022-06-04

VB.NET中怎么实现字符串加密解密

这篇文章给大家介绍VB.NET中怎么实现字符串加密解密,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。VB.NET字符串加密解密的安全说明: 与 DES 相比,Rijndael(现在称为“高级加密标准”[AES])和“三
2023-06-17

python字符串简单加密怎么实现

可以使用简单的凯撒密码来对字符串进行加密。以下是一个使用凯撒密码实现字符串加密和解密的示例代码:def encrypt(text, shift):encrypted_text = ""for char in text:if char.is
python字符串简单加密怎么实现
2024-04-08

python密码加密与解密的实现

本文主要介绍了python密码加密与解密的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-07

如何理解Python中LeetCode的亲密字符串

这篇文章将为大家详细讲解有关如何理解Python中LeetCode的亲密字符串,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Title: 给定两个由小写字母构成的字符串A和B,只要我们可以通
2023-06-02

Secrets Manager 更新密钥 - 密钥字符串附加 JSON 编码

php小编子墨为您带来最新的 Secrets Manager 更新密钥技巧:密钥字符串附加 JSON 编码。这个技巧可以让您更加灵活和安全地管理密钥,同时还能提供更多的功能和选项。通过将密钥字符串与 JSON 编码结合起来,您可以轻松地添加
Secrets Manager 更新密钥 - 密钥字符串附加 JSON 编码
2024-02-13

c++字符串加密的方法是什么

在C++中,字符串加密的方法可以使用各种加密算法,如AES、DES、RSA等。这些算法可以用来加密字符串,以确保数据的安全性和隐私性。以下是一个简单的示例,展示如何使用AES算法对字符串进行加密:#include #
c++字符串加密的方法是什么
2024-04-08

详解php如何解密json字符串

JSON(JavaScriptObjectNotation)是一种轻量级文本格式,用于表示和传输数据。PHP提供了多种方法来解密JSON字符串,包括json_decode()、json_decode_safe()等函数。这些函数可以将JSON字符串转换为PHP变量,如对象或数组。在解码过程中,可以通过指定关联数组或对象的选项来影响结果的结构。安全注意事项包括验证JSON字符串的有效性、使用错误处理捕获无效的JSON,以及设置深度限制以防止堆栈溢出。
详解php如何解密json字符串
2024-04-02

python 加密解密

MD5  import hashlib  c = raw_input('输入字符:') #python3为input b = hashlib.md5()  b.update(c.encode(encoding='utf-8'))  
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录