fwknop数据格式

本文探讨了如何通过16位随机数、操作系统用户名、时间戳、版本号、消息类型和访问信息生成加密消息,涉及Base64编码、SHA256哈希、AES CBC加密、MD5循环加密以及HMAC认证。重点在于加密过程的详细步骤和安全措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

radom : 16位随机数(纯数字): 生成16位随机数截取前10位+生成16位随机数截取前6位
userName: base64(客户端操作系统登录名称).替换“=”为空
fw_timeout_str:当前时间戳
version:fwknop的版本号2.0.2
messageType:消息类型 1 打开端口
access_buf: base64(消息体).替换“=”为空 客户端ip,协议/需要打开的端口 172.16.30.41,tcp/8100
CLIENT_TIMEOUT: 授权时间 秒
Magic:“Salted__” 固定值
Salt: 8位ASCII值 (生成随机数将值转换成ASCII值)

  1. message_str 格式: 用“:”将以上字段拼接成字符串 radom:userName: fw_timeout_str:version:messageType:access_buf:CLIENT_TIMEOUT
  2. 摘要处理digest hash sha256对1进行加密,结果进行base64后替换“=”: base64(sha256(message_str)).替换“=”为空
  3. AES的CBC对 1:2 进行加密结果进行base64去掉"="
    key: 3.5的前32位
    iv: 3.5的后16位
    3.1 key:配置文件的key进行解码
    3.2 temp_key 前16位是0+用 3.1key处理后的key+Salt+补0到64位)
    //循环md5加密 每次循环count+16
    //循环条件 count<iv长度
    3.3 第一次md5 md5( 3.1 key的长度+Salt)
    3.4 第二次md5 md5(从3.3 第一次md5的结果+3.1 key的长度+Salt)
    3.5 (3.3+3.4+3.5)第三次md5 md5(从3.4 第二次md5的结果+3.1 key的长度+Salt)
  4. hmac (hmac 密钥解密)
    4.1 拼接数据 对 (Salted__+Salt+3的结果)进行base64去掉"="
    4.2 对4.1进行hmac
    4.3 对4.2进行base64去掉"="
  5. spaData
    4.1 的去掉前10位+4.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值