//DSA JAVA平台签名转成.net可以认识的签名
public static byte[] changeDSAJava2net(byte[] Content) {
byte[] RByte = new byte[40];
// byte[] SByte = new byte[20];
// byte[] Content = DERStr.getBytes();
int IntRLength = Content[3];
int j = 0;
// 第一段是 20个字符
if (IntRLength == 20) {
for (int i = 0; i < 20; i++) {
RByte[i] = Content[4 + i];
}
j = 24;
} else if (IntRLength > 20) {
// 第五位数字是0
for (int i = 0; i < 20; i++) {
RByte[i] = Content[5 + i];
}
j = 25;
} else {
// IntRLength 19 NotEnough 1
int NotEnough = 20 - IntRLength;
for (int i = 0; i < NotEnough; i++) {
// 不足数据用0补齐
RByte[i] = 0;
}
for (int i = 0; i < IntRLength; i++) {
RByte[NotEnough + i] = Content[4 + i];
}
j = 24 - NotEnough;
}
int IntSLength = Content[j + 1];
if (IntSLength == 20) {
for (int i = 0; i < 20; i++) {
RByte[i + 20] = Content[j + 2 + i];
}
} else if (IntSLength > 20) {
for (int i = 0; i < 20; i++) {
RByte[i + 20] = Content[j + 3 + i];
}
} else {
int NotEnough = 20 - IntSLength;
for (int i = 0; i < NotEnough; i++) {
RByte[i + 20] = 0;
}
for (int i = 0; i < IntSLength; i++) {
RByte[NotEnough + i + 20] = Content[j + 2 + i];
}
}
return RByte;
}
网上关于DSA的签名的实现代码很多 在此不再赘述 有疑问可以去问问百度或google
再次感谢徐某人!
分享到:
相关推荐
DSA数字签 DSA数字签DSA数字签名 DSA数字签名
来自StackOverflow的 Jeffrey Walton 的文章中dsa数字签名算法的java实现,包括生成签名,消息签名,验证签名三个功能的实现。
java写的DSA数字签名算法,是密码学中的典型算法
DSA签名程序和DSA验证程序。 签名程序流程: a. 读入字符串(从屏幕或文本文件中),字符串内容应包含自己的学号或姓名; b. 计算该字符串的SHA-1值; c. 生成DSA密钥对(利用dsa_make_key); d. 利用dsa_export...
来自StackOverflow的 Jeffrey Walton 的文章中dsa数字签名算法的C#实现,包括生成签名,消息签名,验证签名三个功能的实现。
实现数字签名功能,通过DSA算法实现,包含源程序等
私钥为OpenSSL生成的PEM文件,本资源用C#从文件中读取私钥并加密,可以使用。
DSA数字签名算法 包括MD5,sha1的信息摘要算法。文件导入功能
rsa Elgamal及DSA的使用实例,运用此类算法加密解密及签名验签
详细的DSA源码,并经过验证和分析,对DSA数字签名的安全分析非常有用
我不知道是这个DSA算法本身有问题还是什么.验证签名这块也有问题
通过实现数字签名算法(DSA),加深对数字签名算法的理解,同时学习Hash算法的实现。 1)利用C\C++语言实现DSA算法。 2)DSA中的Hash函数采用SHA算法。
实现数字签名算法以及验证数字签名算法的正确性。本程序经本人验证
用java实现dsa的签名算法,解决DSA签名的一些问题
BM算法求线性综合解和DES加密是用C++写的,DSA签名使用java写的。
数字签名标准(DSS)的研究与实现 1. 引言 5 2.数论基础 6 2.1 基本定义 6 2.2 散对数问题 7 3.数字签名标准DSS 9 3.1 DSA算法描述 9 3.1.1 DSA算法参数 9 3.1.2 DSA签名过程 9 3.1.3 DSA签名验证 10 3.2 DSA算法...
RSA DSA 对称 非对称 加密 解密 XML 数字签名 C#.NET 安全编程这门课的大作业 里面有详细的例子,方便大家学习
数字签名算法(Digital Signature Algorithm ,DSA),它也是一种非对称加密算法,被美国NIST作为数字签名标准(DigitalSignature Standard, DSS)。但是 应用于数字签名中。DSA算法比RSA产生密钥的速度要快一些,且安全...
在SHA1中,为了HASH小于2^64长度的输入消息,先对消息m的长度进行处理,判断补0后是512位的多少倍。 (2)大整数:因为涉及到几百位的大整数运算,如这里规定p是512位,先封装一个大整数类BigNumber,BigNumber的...
DSA 数字签名算法 VC++实现 绝对好用 能够对文件进行数字签名 防止篡改