Python异或加密字符串

import os
import sys
import struct

def enc(path, key):
    path_ret = ""
    for i in range(0, len(path)/4):
        path_ret += struct.pack("<L", struct.unpack("<L", path[i*4 : (i*4)+4])[0] ^ key)

    return path_ret

print enc("daniel King ", 0x0)
print enc("daniel King ", 0xFFFFFFFF)
print enc(enc("daniel King ", 0xFFFFFFFF), 0xFFFFFFFF)

  

>>> ================================ RESTART ================================
>>>
daniel King
洖憱殦叽枒樳
daniel King
>>>

  

Python异或加密字符串

时间: 2024-11-05 20:36:22

Python异或加密字符串的相关文章

字符串异或加密

/** *  字符串异或加密 * *  @param oldStr 被加密的字符串 *  @param x      字符偏移量 * *  @return 加密后的字符串 */ - (NSString *)getCharArrayUsingString:(NSString *)oldstr withCharOffset:(int)x { if (nil == oldstr || [@"" isEqualToString:oldstr]) { return @"";

异或加密原理

加密原理 因为: 1. A xor B xor C = (A xor B) xor C = A xor (B xor C) 2. A xor B xor B = A 所以有: A xor B xor B = (C= A xor B) xor B = C xor B = A 公开加密后的值C,保留key B ,c xor B 得到原始数据A #PYTHON 2.7 #coding: utf-8 ''' xor operator lab ''' def xor_encode(original,key

Java实现异或加密

/** * 异或加密 * * @param strOld * 源字符串 * @param strKey * 密钥 * @return 加密后的字符串 */ public static String encrypt(String strOld, String strKey) { byte[] data = strOld.getBytes(); byte[] keyData = strKey.getBytes(); int keyIndex = 0; for (int i = 0; i < strO

python的bcrypt加密方式验证

bcrypt 库的地址 https://pypi.python.org/pypi/py-bcrypt/ 可以通过下载源码包在本地编译安装,不过windows下会比较麻烦,需要VCForPython27这个东东帮忙, 其实有一种简单的方法: pip install bcrypt 轻松搞定. bcrypt加密的使用场景是这样的: 1.服务端记录了密码原文,客户端接收用户输入的密码,然后用这个密码计算生成一个字符串,发给服务端. hash = bcrypt.hashpw(password, bcryp

Python的RSA加密和PBE加密

最近在写接口的时候,遇到了需要使用RSA加密和PBE加密的情况,对方公司提供的DEMO都是JAVA的,我需要用python来实现. 在网上搜了一下,python的RSA加密这块写的还是比较多的,但是PBE较少.所以我就讲讲我在RSA加密上面遇到的坑,大家权当一乐.PBE加密里面的盐.密钥. RSA 什么是RSA加密呢? 其实RSA是一种非对称加密,那什么是非对称加密呢?非对称加密又叫做公开密钥加密,就是说我有一对密钥,分为公钥和私钥.私钥我悄悄的留着,不给别人看.然后把公钥给别人(无论是谁).当

php加密字符串超时不可解密

<?php/** * 加密字符串在指定时间内解密有效 * @param  [type]  $string    明文字符串 * @param  string  $operation 解密值为DECODE,其它值为加密 * @param  string  $key       加密key * @param  integer $expiry    过期时间单位秒 * @return [type]             [description] */function str_encrypt($st

解决AES算法CBC模式加密字符串后再解密出现乱码问题

问题 在使用 AES CBC 模式加密字符串后,再进行解密,解密得到的字符串出现乱码情况,通常都是前几十个字节乱码: 复现 因为是使用部门 cgi?AESEncryptUtil 库,找到问题后,在这里复现不太方便,这里使用 python 进行复现,可以方便复现. #!/usr/bin/env python #coding=utf-8 from Crypto.Cipher import AES ? PADDING = '\0' if __name__ == "__main__":? ?

Python 约束 , 自定义异常 , 加密 , 日志

约束 约束 , 约束其派生类:  保证派生类中必须编写send方法 , 不然执行可能就会报错 Python中  语法: 1 class BaseMessage(object): 2 def send(self): 3 """" 4 必须继承BaseMessage,然后其中必须编写send方法, 用于完成具体业务 5 """ 6 raise NotImplementedError(".send()必须被重新写") 7

Python与常见加密方式

前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错. 将字符串和Bytes互相转换可以使用encode()和decode()方法.如下所示: # 方法中不传参数则是以默认的utf-8编码进行转换 In [1]: '南北'.encode() Out[1]: b'\xe5\x8d\x97\xe5\x8c\x97' ? In [2]: b'\xe5\x8d\x