1.python处理c# MD5Hleper.MD5Encryp
# pyDes.des(key,[mode],[IV],[pad],[padmode]) # 加密密钥的字节、加密类型、偏移量(可选参数用来设置填充字符)、设置填充模式 # key-> 包含加密密钥的字节。DES 8个字节,16或24个字节用于三重DES; # mode-> 加密类型的可选参数,可以是pyDes.ECB(电子密码簿)或pyDes.CBC(密码块链接) # 如果使用CBC模式,则必须提供IV->可选的初始值字节。长度必须为8个字节; #pad-> 可选参数,设置填充字符(PAD_NORMAL)以在使用此实例完成的所有加密/解密操作; padmode-> 可选参数,设置填充模式(PAD_NORMAL或PAD_PKCS5)在对此实例执行的所有加密/解密操作期间使用; text = "" k = pyDes.des("ABCDEFGH", pyDes.CBC, "ABCDEFGH", pad=None, padmode=pyDes.PAD_PKCS5) d = k.encrypt(text.encode('utf-8')) dex_text = binascii.b2a_hex(d) # 其中"ABCDEFGH"是秘钥,秘钥为8位,这里的偏移量我也设置为秘钥
讯享网
2.python的类的json序列化
在c#里面用到了序列化的类, JsonConvert.JsonSerializer本想在python中创建个类进行序列化,发现并不行。python进行类json序列化可以通过下面两种方式:
(1)json-serializer库
json-serializer的库可以直接对于类进行序列化,具体代码如下:
讯享网from json_serializer.Serializer import Serializer class Car(object): mark = None model = None year = None color = None if __name__ == "__main__": CAR = Car() CAR.mark = 'FORD' CAR.model = 'MUSTANG' CAR.year = 2016 CAR.color = 'BLACK' # 序列化 serializer = Serializer([Car]) string1 = serializer.serialize(CAR) print(string1) # 反序列化 CAR = serializer.deserialize(string1) print(CAR)
(2)字典序列化
经过serializer库发现,其实和字典序列化很像,其实不用创建类,直接使用字典的形式,然后json进行序列化结果是一样的:
import json if __name__ == "__main__": dict1 = {
"mark": "FORD", "model": "MUSTANG", "year": 2016, "color": "BLACK" } # 序列化 dict1 = json.dumps(dict1) print(dict1)
这是笔者目前查python对于类序列化的两种操作形式,主要是没太接触过c#的代码,导致对于一些东西不太熟悉

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/116808.html