1、使用摘要的数字签名认证,其算法是不是统一的
2、如果是,是否可以提供相关的摘要算法
500分相送:)请高手观察这样一个认证串:
LoginBroadVali&Succeed=Y&UserId=1000864428&UserName=ad50243896&Type=adsl&Date=07221012354831&Msg=000&Signature=j%2fsyc%2fOMBvw5%2fDehU5E%2byQQLL1xvPIFwB%2bXQJLubza9lygDOg1yod5QUjT61GUCLnz%2bTW%2bV9RQvy%2bbdCCn1n8t%2bHA2AzMbJ7msAHKXxc%2fWjlrdR20TkquIFKRAanw4RhxERrXsg5qsT0P3EjA2Z16gl7%2fZZfoClECQw170UsAkw%3dSignature后面的摘要验证的算法是否未公开的标准算法,当然了,还需要密钥文件支持!
2、如果是,是否可以提供相关的摘要算法
500分相送:)请高手观察这样一个认证串:
LoginBroadVali&Succeed=Y&UserId=1000864428&UserName=ad50243896&Type=adsl&Date=07221012354831&Msg=000&Signature=j%2fsyc%2fOMBvw5%2fDehU5E%2byQQLL1xvPIFwB%2bXQJLubza9lygDOg1yod5QUjT61GUCLnz%2bTW%2bV9RQvy%2bbdCCn1n8t%2bHA2AzMbJ7msAHKXxc%2fWjlrdR20TkquIFKRAanw4RhxERrXsg5qsT0P3EjA2Z16gl7%2fZZfoClECQw170UsAkw%3dSignature后面的摘要验证的算法是否未公开的标准算法,当然了,还需要密钥文件支持!
一是摘要算法:目前有很多种算法,比较流行的有 MD5 SHA-1.
二是签名算法:都是公钥体制,也有很多种,如RSA, ELGMA, 椭圆曲线等.
两种算法可以任意组合.
我的程序是用VC++写的,在调用该组件的验证功能时,不稳定,有的机器运行正常,有的出错
如果摘要验证的算法是统一的(有限的几种)
我考虑将验证的函数直接写入我的程序MD5,SHA,MAC等摘要(Digest,也称为Hash,散列)算法,这几种算法是不是标准的?
求相关资料,学习...
http://www.supcode.com/Article/html/4/50/2005/03/08/039591935999.shtml
-适用于数字签名和密钥交换。Rivest-Shamir-Adleman (RSA) 加密算法是目前应用最广泛的公钥加密算法,特别适用于通过 Internet 传送的数据。这种算法以它的三位发明者的名字命名:Ron Rivest、Adi Shamir 和 Leonard Adleman。RSA 算法的安全性基于分解大数字时的困难(就计算机处理能力和处理时间而言)。在常用的公钥算法中,RSA 与众不同,它能够进行数字签名和密钥交换运算。 DSA-
仅适用于数字签名。数字签名算法 (Digital Signature Algorithm, DSA) 由美国国家安全署 (United States National Security Agency, NSA) 发明,已经由美国国家标准与技术协会 (National Institute of Standards and Technology, NIST) 收录到联邦信息处理标准 (Federal Information Processing Standard, FIPS) 之中,作为数字签名的标准。DSA 算法的安全性源自计算离散算法的困难。这种算法仅用于数字签名运算(不适用于数据加密)。 MD5。
MD5 是由 Ron Rivest 设计的可产生一个 128 位的散列值的散列算法。MD5设计经过优化以用于Intel处理器。这种算法的基本原理已经泄露,这就是为什么它不太受欢迎的原因。
SHA-1
与 DSA 公钥算法相似,安全散列算法1(SHA-1)也是由NSA设计的,并由NIST将其收录到 FIPS 中,作为散列数据的标准。它可产生一个 160 位的散列值。SHA-1是流行的用于创建数字签名的单向散列算法。