Sberbank签名验证的Python实现(使用异步加密)。

sberbank-async-cryptograph的Python项目详细描述


基于异步加密的Sberbank签名验证

密钥生成、消息签名和签名验证的代码是通用的, 它不仅与Sberbank兼容。你可以把它用于你自己的目的。 但是有一个sberbank_tools模块,它包含sberbank的特定函数。在

回购对拉式请求开放。作者将很高兴听到你的一些好的反馈。在

Python版本

编写代码时使用的Python版本是3.8。其他版本还没有经过测试,但它们可能会起作用。在

安装

pip install -i sberbank_callback_async_cryptography

烧瓶示例

^{pr2}$

FastAPI示例

importosfromdotenvimportload_dotenvfromfastapiimportRequestfromsb_async_cryptography.sberbank_toolsimportverify_signature,params_get_checksumfromsb_async_cryptography.signatureimportpublic_key_import_from_x509_certificate_filefromstarlette.responsesimportJSONResponseload_dotenv()SBERBANK_PUBLIC_KEY_FILE=os.getenv('SBERBANK_PUBLIC_KEY_FILE')pub_key=public_key_import_from_x509_certificate_file(SBERBANK_PUBLIC_KEY_FILE)asyncdefnotification(request:Request):"""Status change notification from Sberbank"""params=dict(request.query_params)signature=params_get_checksum(params)ifnotverify_signature(pub_key,signature,params):returnJSONResponse(status_code=400,content={"errors":"Signature verification failed."})# some other code here

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java不兼容类型:MainActivity无法转换为LifecycleOwner   java安卓是一种更有效的读取大文本文件的方法   java导出LWJGL本地人与项目?(IntelliJ IDEA)   JDK更新后,JavaJShell不再在下一行打印输出   父类对象上的继承Java比较子属性   Java:有没有一个容器可以有效地结合HashMap和ArrayList?   安卓 Java对象指针   java在annotationdriven Spring MVC应用程序中实现大气   java 安卓源代码构建应用找不到安卓supportv4。罐子   文件系统上的抽象层和Java中的jar/zip   java在水平滚动视图中添加多个图像?   java如何从firebase实时数据库中获取字符串数组   WIndows 10工作站上的java未满足链接错误   java命令在终端中工作,但在使用过程中出现“无结束引号”错误。执行官