Python AES - base64 加解密

首先python引用AES加密

from Crypto.Cipher  import AES

需要先安装  Crypto  模块, 可以使用 easy_install 进行安装   会自动去官网进行搜索安装

其中代码示例:

    aes 加密 需要进行加密数据的处理,要求数据长度必须是16的倍数,不足时,在后边补0

class MyCrypt():
    def __init__(self, key):
        self.key = key
        self.mode = AES.MODE_CBC

    def myencrypt(self, text):
        length = 16
        count = len(text)
        print count
        if count < length:
            add = length - count
            text= text + (‘\0‘ * add)

        elif count > length:
            add = (length -(count % length))
            text= text + (‘\0‘ * add)

        cryptor = AES.new(self.key, self.mode, self.key)
        self.ciphertext = cryptor.encrypt(text)
        return b2a_hex(self.ciphertext)

    def mydecrypt(self, text):
        cryptor = AES.new(self.key, self.mode, self.key)
        plain_text = cryptor.decrypt(text)
        return plain_text.rstrip(‘\0‘)

关于base64 加密 比较简单

  import base64 即可

>>> dir(base64)
[‘EMPTYSTRING‘, ‘MAXBINSIZE‘, ‘MAXLINESIZE‘, ‘__all__‘, ‘__builtins__‘, ‘__doc__‘, ‘__file__‘, ‘__name__‘, ‘__package__‘, ‘_b32alphabet‘, ‘_b32rev‘, ‘_b32tab‘, ‘_translate‘, ‘_translation‘, ‘_urlsafe_decode_translation‘, ‘_urlsafe_encode_translation‘, ‘_x‘, ‘b16decode‘, ‘b16encode‘, ‘b32decode‘, ‘b32encode‘, ‘b64decode‘, ‘b64encode‘, ‘binascii‘, ‘decode‘, ‘decodestring‘, ‘encode‘, ‘encodestring‘, ‘k‘,‘re‘, ‘standard_b64decode‘, ‘standard_b64encode‘, ‘string‘, ‘struct‘, ‘test‘, ‘test1‘, ‘urlsafe_b64decode‘, ‘urlsafe_b64encode‘, ‘v‘]

其中有 urlsafe 加密解密 , 可以不用在base64基础上进行再次处理。

时间: 2024-10-11 06:24:35

Python AES - base64 加解密的相关文章

DES对称加解密、AES RijndaelManaged加解密、Base64加密解密、MD5加密等操作辅助类 EncodeHelper

/// <summary> /// 使用默认加密 /// </summary> /// <param name="strText"></param> /// <returns></returns> public static string DesEncrypt(string strText) /// <summary> /// 使用默认解密 /// </summary> /// <pa

Java基础加密之BASE64加解密

BASE64加解密,加密与解密实际是指编码(encode)和解码(decode)的过程,其变换是非常简单的,仅仅能够避免信息被直接识别. Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式. Base64使用A--Z,a--z,0--9,+,/ 这64个字符. Base64是一种很常见的编码规范,其作用是将二进制序列转换为人类可读的ASCII字符序列 Base64编码表 Value Encoding  Value Encoding  Value Encodin

AES算法加解密纯C语言实现

文件清单: AES算法实现:aes.c,aes.h AES算法CBC模式加解密封装:aes_util.c,aes_util.h BASE64编解码实现:base64.c,base64.h AES算法测试:aes_util_test.c aes.c: /********************************************************************* * Filename: aes.c * Author: Brad Conte (brad AT bradco

C#调用Crypto++库AES ECB加解密

本文章使用上一篇<C#调用C++类库例子>的项目代码作为Demo.本文中,C#将调用C++的Crypto++库,实现AES和ECB加解密. 一.下载Crypto 1.进入Crypto的官网下载openssl.网址是: https://www.cryptopp.com/. 2.点击“DownLoad”,选择最新的可下载的版本即可.此时我下载的是cryptopp820.zip,如下图所示的. 3.解压 cryptopp820.zip. 4.打开cryptopp820文件夹中的cryptest.sl

JAVA AES文件加解密

AES加解密算法,代码如下: /** * Created by hua on 2017/6/30. */ import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class AESUtil1 { //初始化向量,aes 16位 private static final String IV = "abcdefghijk1m

oracle里面base64加解密

1. base64 的解密函数select utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw('dGVzdA=='))) from dual 2. base64 的加密函数select utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('test'))) from dual

java之BASE64加解密

1.简介 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到. 注:位于jdk的java.util包中. 2.代码 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.UnsupportedEncodingException; /** * Created by root on 16-6-2. */ publ

基于python3.5的 rsa+base64加解密

python3.5.3的版本.需要先生成一个私钥,然后放入这里面即可. 这个有个地方需要注意的是: 加密阶段,我们base64 第一次加密的时候,是加密传入的字符串,然后rsa继续把base64加密后的数据再次加密 , 等rsa加密完成后,我们base64进行第二次加密,此刻加密的数据是加密 rsa加密后的数据了. 解密阶段.一路狂解密,不要停 一定要注意上面的加密阶段,别等第一个base64加密后,第二个base64就解密了,这样是行不通的. #!/usr/bin/env python3 im

关于Python实现Interface base64加解密方法

''' 以下Python Code运行环境为windows10, Python版本为3.5.3 涉及的库:base64,json,unittest ''' # coding=utf-8 # import requests # import hashlib import base64, json import unittest class DemoRequests(unittest.TestCase): def setUp(self): #self._url = 'http://www.baidu