BBASMCryptoUtility.h 1.85 KB
//
//  BBASMCryptoUtility.h
//  BBAMNP
//
//  Created by baidu on 2019/4/30.
//  Copyright © 2019 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface BBASMCryptoUtility: NSObject

/**
 * @brief 获取混淆后的字符串方法
 * @param string 需要加密的原字符串
 * @return 返回加密后的字符串
 */
+ (NSString *)encryptedStringForProtect:(NSString *)string;

/**
 * @brief 常量字符串加固所使用的方法 根据传入的加密字符串进行解密,返回解密字符串,该方法仅为
 * @param encryptedString 加密过的字符串
 * @return 返回解密后的字符串
 */
+ (NSString *)decryptedStringForProtect:(NSString *)encryptedString;

/// 返回 "swan"
+ (NSString *)smKey_Lowercase;

/// 根据协议获取实现协议的类
/// @param protocol 协议
+ (Class)adapterServiceProtocol:(Protocol *)protocol;

/// @brief 计算rasign值,客户端收到时间 - 服务器时间
/// @param delta 当前服务端时间
/// @return NSString 返回客户端与服务器的时间差
+ (NSString *)rasignTimestampByDelta:(NSInteger)delta;

/// @brief 计算rasign值,客户端收到时间 - 服务器时间
/// @param delta 当前服务端时间
/// @param timestamp  当前系统时间
/// @return NSString 返回客户端与服务器的时间差
+ (NSString *)rasignTimestampByDelta:(NSInteger)delta timestamp:(NSTimeInterval)timestamp;

/// @brief 计算rasign值
/// @param delta 当前服务端时间
/// @return NSString 返回timestamp=%lld&delta=%zd&rasign=%@
+ (NSString *)rasignTimeByDelta:(NSInteger)delta;

/// @brief 计算rasign值
/// @param delta 当前服务端时间
/// @param timestamp  当前系统时间
/// @return NSString 返回timestamp=%lld&delta=%zd&rasign=%@
+ (NSString *)rasignTimeByDelta:(NSInteger)delta timestamp:(NSTimeInterval)timestamp;

@end

NS_ASSUME_NONNULL_END