栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Python中验证RSA SHA1签名?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Python中验证RSA SHA1签名?

标记之间的数据是包含PKCS#1 RSAPublicKey的PKCS#8 PublicKeyInfo的ASN.1 DER编码的base64编码。

这有很多标准,使用加密库对它进行解码将为您提供最好的服务。将以下内容视为有关格式的一些有趣信息:

如果需要,可以像这样解码:

base64解码字符串:

30819f300d06092a864886f70d010101050003818d0030818902818100df1b822e14eda1fcb743366a27c06370e6cad69d4116ce806b3d117534cf0baa938c0f8e4500fb59d4d98fb471a8d01012d54b32244197c7434f27c1b0d73fa1b8bae55e70155f907879ce9c25f28a9a92ff97de1684fdaff05dce196ae76845f598b328c5ed76e0f71f6a6b7448f08691e6a556f5f0d773cb20d13f629b63910203010001

这是DER编码:

   0 30  159: SEQUENCE {   3 30   13:   SEQUENCE {   5 06    9:     OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)  16 05    0:     NULL :     }  18 03  141:   BIT STRING 0 unused bits, encapsulates {  22 30  137:       SEQUENCE {  25 02  129:         INTEGER :00 DF 1B 82 2E 14 ED A1 FC B7 43 36 6A 27 C0 63 :70 E6 CA D6 9D 41 16 CE 80 6B 3D 11 75 34 CF 0B :AA 93 8C 0F 8E 45 00 FB 59 D4 D9 8F B4 71 A8 D0 :10 12 D5 4B 32 24 41 97 C7 43 4F 27 C1 B0 D7 3F :A1 B8 BA E5 5E 70 15 5F 90 78 79 CE 9C 25 F2 8A :9A 92 FF 97 DE 16 84 FD AF F0 5D CE 19 6A E7 68 :45 F5 98 B3 28 C5 ED 76 E0 F7 1F 6A 6B 74 48 F0 :86 91 E6 A5 56 F5 F0 D7 73 CB 20 D1 3F 62 9B 63 :91 157 02    3:         INTEGER 65537 :         } :       } :   }

对于1024位RSA密钥,可以将其

"30819f300d06092a864886f70d010101050003818d00308189028181"
视为常量标头,后跟一个00字节,然后是128个字节的RSA模数。在那之后的95%的时间里,您将获得
0203010001
,这表示RSA公用指数为0x10001
= 65537。

您可以在

n
e
中使用这两个值来构造RSAobj。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号