小编use*_*371的帖子

计算 RADIUS 消息的验证器字段

我正在尝试实施 RADIUS 协议。根据 RFC 2866,对于 RADIUS 计费,计算 Authenticator 字段时的步骤如下:

计费响应数据包中的身份验证器字段称为响应身份验证器,并包含通过八位位组流计算的单向 MD5 哈希值,该八位位组流由计费响应代码、标识符、长度、计费请求中的请求身份验证器字段组成正在回复的数据包,以及响应属性(如果有),后跟共享密钥。生成的 16 个八位字节 MD5 哈希值存储在计费响应数据包的验证器字段中。

我正在尝试计算它,但无法获得正确的值: Code = 5 (0x05) 1 byte Identifier: 134 (0x86) 1 byte Length: 20 (0x0014) 2 bytes Request Authenticator: bac85592365b2e786ad3095a1cf22646 ,16 bytes 没有属性在我的回复中共享秘密:63 21 6d 40 35 32 32 35 (c!m@5225)

因此 MD% 哈希的输入将是: 05860014bac85592365b2e786ad3095a1cf2264663216d4035323235 我使用这两个网站得到: b7ac1e6909302b06bd021aede380dbc5:http://www.md5hashgenerator.com/http://www.mir aclesalad.com/webtools/md5.php

实际响应的身份验证器为 9629702dca9469714fb423ca7b1525bc 我正在比较客户端/服务器发送的真实 RADIUS 数据包,并且我计算的身份验证器与服务器发送的身份验证器不匹配。有什么想法吗?

The RFC 2865 at the end has a couple of examples. Example 1, using the shared
secret "xyzzy5461" …
Run Code Online (Sandbox Code Playgroud)

radius-protocol

5
推荐指数
1
解决办法
5223
查看次数

主要完成后C++内存泄漏?

这是一个内存泄漏?,假设Foo()是一个带有默认构造函数的类

int main()
{

   Foo * p = new Foo();

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为这不是泄漏,因为应用程序在主要结束后立即结束,并且假设操作系统在完成后释放该应用程序的所有资源.这个假设是对的吗?

c++ memory-leaks

1
推荐指数
1
解决办法
116
查看次数

标签 统计

c++ ×1

memory-leaks ×1

radius-protocol ×1