iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python字符串加密与解密
  • 890
分享到

python字符串加密与解密

字符串python 2023-01-31 05:01:17 890人浏览 泡泡鱼

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!

--结束END--

本文标题: python字符串加密与解密

本文链接: https://www.lsjlt.com/news/188110.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • python字符串加密与解密
    符串进行加密与解密 设计应用程序时,为了防止一些敏感信息的泄露,通常需要对这些信息进行加密。 以用户的登录密码为例,如果密码以明文的形式存储在数据表中,很容易就会被人发现;相反,如果密码以密文的形式储存,即使别人从数据表中...
    99+
    2023-01-31
    字符串 python
  • python字符串加密解密的方法是什么
    Python中字符串加密解密的方法有很多种,常见的有以下几种:1. 替换法:将字符串中的每个字符按照事先定义好的规则进行替换,实现加...
    99+
    2023-09-04
    python
  • Java对字符串进行加密解密
    要求:   *  对用户输入的每个字符的值进行加密,将解密后的字符串输出   *  对用户输入的已加密字符串进行解密并输出实现代码:import java.util.Scanner;public class E...
    99+
    2023-05-31
    java 字符串 加密解密
  • Linux下实现 OpenSSL 简单加密与解密字符串
    场景shell脚本中存在明文密码客户要求禁止使用明文密码,密码做加密处理.方案在网上了解到了Linux OpenSSL加密解密工具可以指定各种加密算法为字符,文件做加密处理.加密的案例比较多,解密的寥寥无几.有兴趣的可以去查下中文...
    99+
    2023-06-05
  • python对字符串加密解密的方法是什么
    Python中常用的字符串加密解密方法有以下几种:1. 使用base64模块进行加密解密:- 加密:使用`base64.b64enc...
    99+
    2023-08-24
    python
  • VB.NET中怎么实现字符串加密解密
    这篇文章给大家介绍VB.NET中怎么实现字符串加密解密,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。VB.NET字符串加密解密的安全说明: 与 DES 相比,Rijndael(现在称为“高级加密标准”[AES])和“三...
    99+
    2023-06-17
  • mysql加密字符串怎么破解
    mysql字符串加密的方法有TO_BASE64、 ENCODE、AES_ENCRYPT三种,使用方法如下:SET @str0 = 'abcdefg';SET @str1 = TO_BASE64(@str0);SET @str2 = ENCO...
    99+
    2024-04-02
  • python字符串简单加密怎么实现
    可以使用简单的凯撒密码来对字符串进行加密。以下是一个使用凯撒密码实现字符串加密和解密的示例代码: def encrypt(text,...
    99+
    2024-04-08
    python
  • C#实现简单的字符串加密
    最近用到一些字符串加密,而.net中提供的加密算法中用起来比较复杂,便简单的封装了一下,方便日后使用。 public class Encrypt { ...
    99+
    2024-04-02
  • Java 实现字符串SHA1加密方法
    目录Java 字符串SHA1加密导入类定义函数javaSHA1实现加密解密封装一个方法用于加密主函数测试Java 字符串SHA1加密 导入类 import java.securi...
    99+
    2024-04-02
  • python密码加密与解密的实现
    目录一、对称加密1.1 安装第三方库 - PyCrypto1.2 加密实现二、非对称加密三、摘要算法3.1 md5加密3.2 sha1加密3.3 sha256加密3.4 sha384...
    99+
    2023-02-07
    python 密码加密 python 密码解密
  • Python加密与解密模块hashlib与hmac
    Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制...
    99+
    2024-04-02
  • 如何理解Python中LeetCode的亲密字符串
    这篇文章将为大家详细讲解有关如何理解Python中LeetCode的亲密字符串,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Title: 给定两个由小写字母构成的字符串A和B,只要...
    99+
    2023-06-02
  • Secrets Manager 更新密钥 - 密钥字符串附加 JSON 编码
    php小编子墨为您带来最新的 Secrets Manager 更新密钥技巧:密钥字符串附加 JSON 编码。这个技巧可以让您更加灵活和安全地管理密钥,同时还能提供更多的功能和选项。通过...
    99+
    2024-02-13
  • c++字符串加密的方法是什么
    在C++中,字符串加密的方法可以使用各种加密算法,如AES、DES、RSA等。这些算法可以用来加密字符串,以确保数据的安全性和隐私性...
    99+
    2024-04-08
    c++
  • 基于Java解决华为机试之字符串加解密
    目录1.简述2.示例12.代码实现1.简述 描述: 1、对输入的字符串进行加解密,并输出。2、加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字...
    99+
    2024-04-02
  • python 加密解密
    MD5  import hashlib  c = raw_input('输入字符:') #python3为input b = hashlib.md5()  b.update(c.encode(encoding='utf-...
    99+
    2023-01-31
    加密解密 python
  • python基于crypto实现加密与解密
    1.安装crypto库 pip install pycryptodome ps: 使用pip工具安装步骤: 1、直接安装pycryptodome模块即可 pip install pycryptodom...
    99+
    2023-10-10
    python 开发语言
  • python 字符串追加
    通过一个for循环,将一个一个字符追加到字符串中: 方法一: string = '' str=u"追加字符" for i in range(len(str)): string+=str[i] print string 显示结果...
    99+
    2023-01-31
    字符串 python
  • Python RSA加密解密
    一、RSA加密算法 RSA加密算法是一种非对称加密算法,加密的秘钥是由公钥和私钥两部分组成秘钥对,公钥用来加密消息,私钥用来解密消息,公钥是公开的,给对方进行加密,私钥则是用户自己保留,用来对加密的数...
    99+
    2023-09-03
    python RSA 加密 解密
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作