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==";
如需其他源码可以提供
不解释 参考技术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
这里我有基本的CLA
、INS
、P1
、P2
、LC
字节。
我应该为 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 还是 ISO 或 3GPP 中? @Ac3_DeXt3R ISO/IEC 7816-4。它位于 170 美元的付费墙后面。以上是关于C#net2.0 base64 验证码如何解密的主要内容,如果未能解决你的问题,请参考以下文章