fastgm
fastgm copied to clipboard
基于Cython的快速国密算法Python实现
看了下源码,有这么一段 ``` python def _bytes_array_to_string(self, buf, mode): if mode == 'decrypt': if self.padding == 'pkcs7': pad_len = buf[-1] if PY2: return buf[:-pad_len].tostring() else: return buf[:-pad_len].tobytes() if PY2: return buf.tostring().rstrip(b'\0') return...
修复sm2,sm3对python2.7不兼容的问题 由于python2的一些函数的使用方式和输出类型与python3有所区别,导致原sm2,sm3模块在python2.7环境下运行时出错 针对兼容性作出调整,涉及调整的代码在compatibility for python2.7.md文件中有详细记录
1. 增加 PEM密钥读取与生成PEM密钥,密钥格式兼容OpenSSL. 2. 增加了der.py, 参考了 [ecdsa](https://github.com/tlsfuzzer/python-ecdsa). 3. 增加了test_sm2_der.py, 对新增功能进行测试. 4. encrypt 和 decrypt 的API删除了公私钥的参数,不在需要明文输入,如果确实需要,可以直接赋值。这部分如果不符合软件整体框架的话可以在修改一下。