是不是所有用3DES加密计算MAC的算法所得出的结果都是一样的呢?

眯眯豆儿 2009-08-24 04:39:19
是不是所有用3DES加密计算MAC的算法所得出的结果都是一样的呢?
我有两个函数分别为:
第一个:3DES认证码
Public Declare Function TripleMAC Lib "wdcrwx.dll" (ByRef aSingleMACKey As Byte, ByRef aInitData As Byte, ByVal lSourDataLen As Long, ByRef aSourData As Byte, ByRef aMACData As Byte) As Long
' SingleMACKey: 16字节密钥
' InitData: 8字节的初始值
' SourDataLen: 用来产生mac码的原文长度
' SourData: 用来产生mac码的原文
' MactData: 计算出的认证码
' 返回值:
' 认证码的长度为8

第二个:
Public Declare Function Do2DESMAC Lib "Des_SS.dll" (ByRef cpEnter As Byte, ByRef cpKey As Byte, ByRef cpResult As Byte, ByVal nEnterLent As Long) As Long


为什么同样的密钥,初始值,报文,所得出的结果不一样呢?
...全文
423 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
眯眯豆儿 2009-08-24
  • 打赏
  • 举报
回复
问题解决了,谢谢大家。
是我的代码的问题,算法的结果应该是一致的。谢谢各位,呵呵
眯眯豆儿 2009-08-24
  • 打赏
  • 举报
回复
为什么我的计算结果是正确的还是无法验证通过呢?是不是和后台的算法不一致呢?
眯眯豆儿 2009-08-24
  • 打赏
  • 举报
回复
协议?你说的是通信协议吗?
of123 2009-08-24
  • 打赏
  • 举报
回复

如果你指的是不同协议下结果是否相同:很可能不同。

你只要选定一个协议就好了。
yachong 2009-08-24
  • 打赏
  • 举报
回复
3DES算法都是一样的,但是计算MAC就各有各的算法了
有一些并非使用标准的算法,可能有特殊的地方。
仔细看看算法说明,然后照着写代码吧。
of123 2009-08-24
  • 打赏
  • 举报
回复

当然应该一样。不然的话,如何校验呢?

不一样就是有错。为什么有错,别人无法知道。仔细检查你的代码。
眯眯豆儿 2009-08-24
  • 打赏
  • 举报
回复
请各位大侠不吝赐教啊

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧