C#net2.0 base64 验证码如何解密

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#net2.0 base64 验证码如何解密相关的知识,希望对你有一定的参考价值。

验证码:
dfZHdfcwlsTKW9FXggvz6nIO/70X1+V9ICm5k8qbumx6oFTJvyKUj7OcsB2xV6AMtGzrCvmq849Ff+IaWEjnDG+cdHjDzH9mSpOGoQPUGVaZA3ZxCqkVmpiFTumOBOOqg2GMurdfdRdA5DBgHaDQkWrWQYTBB1C8WXKdJiFryPw=
已知验证码是用以下两串字符加密的,原字符串:7A1502E393B7AAE7B905BA1259064F3F和348
求大侠帮忙找出算法

还已知一段代码不知道有用吗?
publicboolVerifySignedHash(string str_DataToVerify, string str_SignedData)

byte[] signature = Convert.FromBase64String(str_SignedData);
byte[] bytes = newASCIIEncoding().GetBytes(str_DataToVerify);
try

RSACryptoServiceProviderprovider = newRSACryptoServiceProvider();
provider.ImportCspBlob(Convert.FromBase64String(this.string_0));
returnprovider.VerifyData(bytes, newSHA1CryptoServiceProvider(), signature);

catch

returnfalse;


公钥
public VIP()

this.string_0 = "BgIAAACkAABSU0ExAAQAAAEAAQB7+rLwX6fQZI4Eb6fOgonTr3bafR2xLwBJme7jZ45/+sgIVbJBrZhKKFH3pn0ul0ajplfEcFvuw4pKLyvBHcQOxTm1hGpMneI4FCQ+VPjGn94XeN1r7K1jcVMsMu979FN8KS0P3AGYsv06sZEyPLy/qFpPznEEzPIOuRCesfKv4g==";


如需其他源码可以提供

参考技术A base64 加密方式都一样!!在网上下载base64 的加解密工具就行啦!! 参考技术B Convert.FromBase64String()
不解释
参考技术C 无解.

如何使用 APDU 将 PIN 验证码发送到智能卡 - 使用 .NET

【中文标题】如何使用 APDU 将 PIN 验证码发送到智能卡 - 使用 .NET【英文标题】:How to send a PIN verification CODE to a smartcard using APDU - Using .NET 【发布时间】:2013-03-26 16:50:16 【问题描述】:

我可以连接到卡,现在我需要验证 PIN,但我不知道应该使用哪个代码来执行验证

// Verify PIN
//HERE IS WHAT I´M NOT SURE WHAT TO USE - Just an Example
byte[] pin = new byte[]  0x31, 0x32, 0x33, 0x34, 0xFF, 0xFF, 0xFF, 0xFF ;
APDUParam apduParam = new APDUParam();
apduParam.Data = pin;
apduVerifyCHV.Update(apduParam);
apduResp = iCard.Transmit(apduVerifyCHV);

这是一张使用 7 位 PIN 码的智能卡。始终为 7 位数字。

**Example:**
CLA, INS, P1, P2, Lc, b1, b2, b3, b4, b5, b6, b7

这里我有基本的CLAINSP1P2LC 字节。 我应该为 7 位 PIN 设置 + 3 个字节还是 6 个字节 并且应该是实际的 PIN 或只是一个 0xFF 值

Ex. CLA, INS, P1, P2, Lc, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +7 Bytes

在规范中,我找到了最小和最大 8 位以及最小 4 和最大 12 字节的示例...

【问题讨论】:

【参考方案1】:

这比我想象的要简单...

当 PIN 使用带填充的 ASCII 格式转换时

输入的 PIN 码是 1357(最小大小 =4,最大大小=8 位)

• 左对齐 • CCID 的默认显示行为

• CCID 向 ICC 发送命令

CLA INS P1 P2 Lc 31 33 35 37 FF FF FF FF

当 PIN 使用 BCD 右对齐和控制字段时

输入的 PIN 码是 13579(最小尺寸 =4,最大尺寸 =8 位)

• 右对齐。个人密码少于8位; 因此,八位代码的最高有效数字必须 用零填充。 • 框架在 PIN 之前集成了一个特定的控制字段“01” 转化。 • 没有消息

• CCID 向 ICC 发送命令

CLA INS P1 P2 Lc 01 00 01 35 79

所以,我所要做的就是设置正确的值。 在我的情况下,使用左对齐的 ASCII 方法:

0x00 0x20 0x00 0x01 0x08 0x30 0x31 0x34 0x37 0x34 0x31 0x30 0xFF

3 - 指填充

3x - x 指给定位置的实际引脚编号(左对齐) 因为我有一个 7 位数的 PIN,所以未使用的字节应默认为 0xFF

希望对某人有所帮助

【讨论】:

主机应用程序必须执行填充是非常罕见的,因为通常有效字符集不受限制,0xFF 将是合法字符。最大长度也不一定在外面知道。如果只允许使用数字,则 ISO 9564 定义了一些变体。 您好,谁能提供具有验证PIN验证ADM命令的标准参考?它是在 ETSI 还是 ISO3GPP 中? @Ac3_DeXt3R ISO/IEC 7816-4。它位于 170 美元的付费墙后面。

以上是关于C#net2.0 base64 验证码如何解密的主要内容,如果未能解决你的问题,请参考以下文章

windows 表单验证问题 (.net2.0 )

64.django实现登录添加验证码功能

图片验证码

图片验证码

RSA加密解密及RSA签名和验证

antd-Vue实现Login登录页面布局-附带验证码验证功能-案例