`
zhouzaibao
  • 浏览: 294166 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

利用key对字符串进行base64加解密

阅读更多

    最近学习python,发现python对于字符的操作真的是非常的麻烦,因为单位项目中用java实现过这种base64的编码,现在需要用python来实现。
    代码如下,我自己都不知道是怎么折腾出来了,基本上可以用了。

#!/usr/bin/env python
#coding:gbk
from base64 import b64encode,b64decode
import string

def encode(unicodeString,key):
    strorg=unicodeString.encode('utf-8')
    strlength=len(strorg)
    baselength=len(key)
    hh=[]
    for i in range(strlength):
        hh.append(chr((ord(strorg[i])+ord(key[i % baselength]))%256))
    return b64encode(''.join(hh))

def decode(orig,key):
    strorg = b64decode(orig.encode('utf-8'))
    strlength=len(strorg)
    keylength=len(key)
    mystr=' '*strlength
    hh=[]
    for i in range(strlength):
        hh.append((ord(strorg[i])-ord(key[i%keylength]))%256)
    return ''.join(chr(i) for i in hh).decode('utf-8')

if __name__=='__main__':
    print encode(u'中华人名工','kioe257ds')
    print decode(u'TyEcSr/DGx4tUPn8Suna','kioe257ds')
 

 

0
0
分享到:
评论
1 楼 哇你长得真高 2009-09-24  
华丽的晕倒
import base64
。。。

相关推荐

    微信小程序 AES ECB base64 加密解密

    Base64编码后的字符串长度通常是原数据长度的1.33倍,因为每24位的原始数据会被转换为4个6位的Base64字符。 在微信小程序中实现AES ECB Base64加密解密,你需要以下步骤: 1. 引入加密库:微信小程序提供了`wx....

    采用JS端来对字符串进行MD5,AES,Base64等加密解密

    总结,通过JavaScript进行MD5、AES和Base64的加密解密是确保Web应用数据安全的重要手段。MD5用于数据校验,AES提供强加密,而Base64则方便在网络中传输二进制数据。了解并熟练运用这些加密方法,有助于开发更安全、...

    Base64整合DES加解密支持密钥支持解密失败返回统一字符支持加密后去除特殊字符

    Base64安全性低?...Base64加密后的字符串在URL中不安全,想去掉特殊符号?这里支持。 想在解密失败返回统一字符?这里支持。告诉我还有什么是你想要的。这里都有,如果好用,不介意的请在下面评论一番,谢谢

    java_base64加密解密实例

    解密时,我们先对Base64编码的字符串进行解码,然后使用相同的密钥进行解密。 请注意,对于生产环境,你需要妥善管理密钥,避免明文存储,并考虑使用更安全的密钥存储和管理机制,如KeyStore。 总结来说,"java_...

    base64转码解密成明文加密成Java密文

    // 假设这是Base64编码的字符串 byte[] decodedBytes = Base64.getDecoder().decode(base64String); String plainText = new String(decodedBytes); // 将解码后的字节转换回字符串 System.out.println("明文: ...

    微信小程序base64 Aes加解密

    它将每3个字节的数据转换为4个字符的文本字符串。在微信小程序中,Base64通常用于将二进制数据(如图片、音频)转化为可以在网络上直接传输的文本格式。`utils`文件夹可能包含一个名为`base64.js`的工具类,提供了...

    Base64And3Des(C++3Des加密解密结合Base64加密解密).rar

    在这个项目中,"Base64And3Des(C++3Des加密解密结合Base64加密解密).rar" 提供了一个C++实现,用于结合3DES(Triple Data Encryption Standard)加密算法与Base64编码进行数据的加解密。下面我们将详细探讨3DES和...

    关于字符串加密解密 DES加密解密

    ### 字符串加密解密——DES加密解密详解 #### 一、概述 在现代信息技术领域,数据安全显得尤为重要。为了保护数据不被未授权访问或窃取,加密技术成为了必不可少的一部分。其中,**DES(Data Encryption Standard...

    javascript的base64加密解密

    以上代码展示了如何使用CryptoJS库进行AES加密和解密,加密后的结果是一个包含Base64编码的字符串,解密时需要使用相同的密钥。 总的来说,JavaScript中的Base64编码是数据传输的基础工具,而配合加密算法,如AES,...

    Base64 个性化加密解密功能VB源码

    ' 将加密后的字节转换为Base64字符串 base64Text = Convert.ToBase64String(ms.ToArray()) ' 解密 Dim decryptor As ICryptoTransform = aes.CreateDecryptor(aes.Key, aes.IV) ms = New MemoryStream(Convert....

    BASE64Encoder加密与解密

    其基本思想是,利用ASCII字符集中的64个字符(包括大写字母A-Z,小写字母a-z,数字0-9,以及+和/两个符号)来表示每6位的二进制数据,从而将原始数据转换为可打印的文本字符串。这种编码方式特别适合于在网络上传输...

    vb字符串加解密

    在VB(Visual Basic)编程中,字符串加解密是一项重要的技术,主要用于保护数据的安全性,尤其是在传输或存储敏感信息时。VB字符串加解密函数可以帮助我们实现这一目标,确保所有字符都能得到有效处理。下面我们将...

    微信小程序base64加密,AES加密

    在接收端,先将接收到的Base64字符串解码回二进制数据,再用相同的AES密钥进行解密,还原出原始信息。 在提供的"utils"文件中,可能包含了实现这些功能的工具函数。这些函数可能封装了Base64和AES的加密/解密逻辑,...

    BASE64Decoder包

    加密后字符串:String newKey=(new BASE64Encoder()).encodeBuffer(bt); 解密代码: 加密后的字符串:String newkey="*****"; byte[] bt = (new BASE64Decoder()).decodeBuffer(key); 解密后的字符串: String key=...

    VB 加密 解密字符串的例子

    为了保护这些信息,我们需要对其进行加密和解密操作。在这个主题中,我们将深入探讨VB中字符串加密和解密的基本概念、方法以及示例。 字符串加密是将明文字符串转化为无法直接读取的密文过程,而解密则是将密文还原...

    C# base64加密,秘钥加密

    结合Base64编码,我们可以在加密后将密文转换为Base64字符串,便于存储和传输。解密前再将其还原为原始字节数组,然后进行解密操作。 ```csharp string encryptedBase64 = Convert.ToBase64String(encryptedBytes);...

    php中加密解密字符串函数类

    为了封装这些功能,你可以创建一个自定义的加密解密字符串函数类,如`CryptoManager`,包含`encrypt()`和`decrypt()`方法。这个类可以处理不同的加密算法,并提供统一的接口。类中的关键部分可能包括选择合适的加密...

    C#字符串加解密源码

    在"C#字符串加解密源码"中,描述提到了"可以输入key值加密",这通常指的是使用密钥加密算法,如AES(高级加密标准)或者DES(数据加密标准)。这些算法需要一个密钥作为参数,密钥的强度直接影响了加密的安全性。AES...

    Base64及多种加密解密方法_加密_解密_

    Base64是一种用于在网络上传输二进制数据的编码方式,它将任意可打印字符转换为一个可读的ASCII字符串。Base64使用64个字符的字符集,包括大小写字母、数字和两个特殊符号,将每3个字节的二进制数据转换成4个字节的...

    C# 字符串加解密通用类

    本文将详细讨论如何在C#中创建一个字符串加解密的通用类,以及实现加密和解密字符串的基本原理。 首先,我们需要理解加密的基本概念。加密是通过使用特定算法(称为加密算法)将明文(可读信息)转换为密文(看似...

Global site tag (gtag.js) - Google Analytics