Files
keyboard/Shared/KBSignUtils.h
CodeST 5edf1751ff 修改sign。
键盘里ai回复的bug
2026-02-24 14:59:06 +08:00

40 lines
1.3 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//
// KBSignUtils.h
// keyBoard
//
// Created by Mac on 2025/12/4.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface KBSignUtils : NSObject
/// URL 编码(与后端保持一致)
+ (NSString *)urlEncode:(NSString *)value;
/// HMAC-SHA256返回十六进制小写字符串
+ (NSString *)hmacSHA256:(NSString *)data secret:(NSString *)secret;
/// 生成签名:传入参与签名的所有参数(不含 sign 自身)
+ (NSString *)signWithParams:(NSDictionary<NSString *, NSString *> *)params
secret:(NSString *)secret;
/// 获取签名原始拼接字符串HMAC 前的明文)
+ (NSString *)signSourceStringWithParams:(NSDictionary<NSString *, NSString *> *)params
secret:(NSString *)secret;
/// 秒级时间戳(字符串)
+ (NSString *)currentTimestamp;
/// 简单 nonce 生成(默认 16 位)
+ (NSString *)generateNonceWithLength:(NSUInteger)length;
/// 生成本项目后端约定的签名请求头X-Sign/X-App-Id/X-Timestamp/X-Nonce
/// bodyParams参与签名的业务参数如 JSON body 字段)。内部会做类型容错与空值过滤。
+ (NSDictionary<NSString *, NSString *> *)signHeadersWithBodyParams:(nullable NSDictionary *)bodyParams;
@end
NS_ASSUME_NONNULL_END