zoukankan      html  css  js  c++  java
  • AES(高级加密)

    AES(高级加密)

    #3.6安装  pip3 install pycryptodome
    #mac     pip3 install pycrypto

    a. 事例:

    ############################### 加密 ##############################
    
    	from Crypto.Cipher import AES
    	def encrypt(message):
    	    key = b'dfdsdfsasdfdsdfs'						#key必须是16的整数倍
    	    cipher = AES.new(key, AES.MODE_CBC, key)		#创建对象
    	    ----------------------------------------------
    	    #先转成字节,把数据拼够16字节的整数倍
    	    ba_data = bytearray(message,encoding='utf-8')	#把数据转成bytearray(byte的数组),bytearray只能追加数字,默认把数字转成字节
    	    v1 = len(ba_data)
    	    v2 = v1 % 16
    	    if v2 == 0:
    	        v3 = 16
    	    else:
    	        v3 = 16 - v2								#v3是追加的长度
    	    for i in range(v3):
    	        ba_data.append(v3)							#bytearray只能追加数字,默认把数字转成字节
    	    final_data = ba_data.decode('utf-8')
    		----------------------------------------------
    	    msg = cipher.encrypt(final_data) 				#要加密的字符串,必须是16个字节或16个字节的倍数,加密后是byte格式
    	    return msg
    
    ############################### 解密 ##############################
    	def decrypt(msg):
    	    key = b'dfdsdfsasdfdsdfs'
    	    cipher = AES.new(key, AES.MODE_CBC, key)
    	    result = cipher.decrypt(msg)					#把加密后的字节解密成不加密的字节
    	    data = result[0:-result[-1]]
    	    return str(data,encoding='utf-8')
    

      

    wuSir  

  • 相关阅读:
    软件开发模式
    个人中心设计
    定制四则运算
    功能测试用例分析报告
    NABCD
    开发流程
    开发流程
    结对编程
    注册界面进行Toast提示
    登录注册页面修改错误
  • 原文地址:https://www.cnblogs.com/golangav/p/7267433.html
Copyright © 2011-2022 走看看