BBASMCrypto.h 1.58 KB
//
//  BBASMCrypto.h
//  BBAMNP
//
//  Created by baidu on 2019/5/7.
//  Copyright © 2019 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface BBASMCrypto : NSObject

/**
 *  @brief  获得数据加盐后的md5签名
 *
 *  @param data 原始数据
 *  @param cuid cuid
 *  *  @return MD5值
 */
+ (NSString *)getSignatureOfData:(NSData *)data cuid:(NSString *)cuid;

/**
 *  @brief AES数据加密
 *
 *  @param data 加密前的原始数据
 *  @return 加密后的NSData数据
 */
+ (NSString *)AESEncodeData:(NSData *)data;

/**
 *  @brief AES数据加密
 *
 *  @param string 加密前的原始数据
 *  @return 加密后字符串
 */
+ (NSString *)AESEncodeString:(NSString *)string;

/// @brief ai能力的数据进行AES数据加密
/// @param apiKey NSString类型,小&程&序的apikey
/// @param cuid NSString类型,设备标识别
/// @param stringMap  NSDictionary类型,加密的key数据
/// @param rasignTimestamp  NSString类型,加密的iv数据
/// @return NSData 返回AES加密数据
+ (NSString *)AESEncryptedApiKey:(NSString *)apiKey
                            cuid:(NSString *)cuid
                       stringMap:(NSDictionary *)stringMap
                 rasignTimestamp:(NSString *)rasignTimestamp;

/**
 * @brief 手百加密算法
 *
 * @param data 二进制数据流
 * @return 返回加密后的数据
 */
+ (NSData *)encryptZipData:(NSData *)data;

/**
 * @brief 手百解密算法
 *
 * @param data 二进制数据流
 * @return 返回解密后的数据
 */
+ (NSData *)decryptZipData:(NSData *)data;
@end

NS_ASSUME_NONNULL_END