递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 2077|回复: 9
打印 上一主题 下一主题

[视窗] ed25519算法怎么写到火山

[复制链接]
回帖奖励 25 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次

1

主题

32

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
跳转到指定楼层
楼主
发表于 2024-12-18 17:45:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
tx官方bot要用到这个算法,想问下怎么封装成火山视窗的类,研究了一下午没研究出来

以下代码来自ai
#include <iomanip>
#include <iostream>
#include <sodium.h>
#include <sstream>
#include <string>

class TX签名计算器 {
public:
    // 初始化类并生成密钥对
    bool 初始化(const std::string& 密钥) {
        if (sodium_init() < 0) return false;
        std::string 填充密钥 = 密钥;
        while (填充密钥.size() < 32) {
            填充密钥 = 填充密钥 + 密钥.substr(0, 32 - 填充密钥.size());
        }
        // 截取前32字节作为最终使用的密钥
        填充密钥 = 填充密钥.substr(0, 32);
        //std::string 填充密钥 = 密钥.substr(0, 32).append(32 - 密钥.size(), 密钥[0]);
        crypto_sign_seed_keypair(公钥, 私钥, reinterpret_cast<const unsigned char*>(填充密钥.data()));
        return true;
    }

    // 计算消息的签名并返回十六进制格式
    std::string 计算签名(const std::string& 消息) {
        unsigned char 签名[crypto_sign_BYTES];
        crypto_sign_detached(签名, nullptr, reinterpret_cast<const unsigned char*>(消息.c_str()), 消息.length(), 私钥);
        return 转为十六进制(签名, crypto_sign_BYTES);
    }

private:
    // 将字节数组转换为十六进制字符串
    std::string 转为十六进制(const unsigned char* 数据, size_t 长度) {
        std:stringstream oss;
        for (size_t i = 0; i < 长度; ++i) oss << std::hex << std::setw(2) << std::setfill('0') << (int)数据
;
        return oss.str();
    }

    unsigned char 私钥[crypto_sign_SECRETKEYBYTES]; // 私钥
    unsigned char 公钥[crypto_sign_PUBLICKEYBYTES];  // 公钥
};

回复

使用道具 举报

1

主题

32

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
来自 9#
 楼主| 发表于 2024-12-19 11:37:33 | 只看该作者
已经自行解决了哈虽然你们没做什么,但也是辛苦你们了
回复

使用道具 举报

1

主题

32

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
沙发
 楼主| 发表于 2024-12-18 17:47:02 | 只看该作者
那个表情是: o
回复

使用道具 举报

51

主题

566

帖子

4546

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4546
板凳
发表于 2024-12-18 22:45:56 | 只看该作者

回帖奖励 +1 金钱

回复本帖可获得 1 金钱奖励! 每人限 1 次
回复

使用道具 举报

7

主题

273

帖子

4137

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4137
地板
发表于 2024-12-18 23:44:05 | 只看该作者

回帖奖励 +1 金钱

回复

使用道具 举报

52

主题

617

帖子

3386

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3386
5#
发表于 2024-12-19 00:00:24 | 只看该作者

回帖奖励 +1 金钱

这是发福利的吗
回复

使用道具 举报

40

主题

599

帖子

4326

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4326
6#
发表于 2024-12-19 08:30:07 | 只看该作者

回帖奖励 +1 金钱

我也来试下赚金钱
回复

使用道具 举报

40

主题

599

帖子

4326

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4326
7#
发表于 2024-12-19 08:31:08 | 只看该作者
导入这个文件,用嵌入封装下调用完事
回复

使用道具 举报

1

主题

32

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
8#
 楼主| 发表于 2024-12-19 08:57:32 来自手机 | 只看该作者
dengzf 发表于 2024-12-19 08:31
导入这个文件,用嵌入封装下调用完事

可以帮忙弄下吗?
回复

使用道具 举报

14

主题

154

帖子

790

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
790
10#
发表于 2024-12-19 12:00:53 | 只看该作者

回帖奖励 +1 金钱

:噜阿噜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-4-10 13:30 , Processed in 0.096122 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表