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

#import <Foundation/Foundation.h>
#import "BBASMNotificationDef.h"

// swan  @"c3dhbg=="
#define BBASM_LOWERCASE_STR        BBASM_UNCONFUSED_STR_METHOD(@"c3dhbg==")
// SWAN  @"U1dBTg=="
#define BBASM_UPPERCASE_STR        BBASM_UNCONFUSED_STR_METHOD(@"U1dBTg==")
// Swan  @"U3dhbg=="
#define BBASM_FIRST_UPPERCASE_STR  BBASM_UNCONFUSED_STR_METHOD(@"U3dhbg==")
// swanid  @"c3dhbmlk"
#define BBASMID_LOWERCASE_STR      BBASM_UNCONFUSED_STR_METHOD(@"c3dhbmlk")
// swangame @"c3dhbmdhbWU="
#define BBASM_GAME_LOWERCASE_STR   BBASM_UNCONFUSED_STR_METHOD(@"c3dhbmdhbWU=")
// Game @"R2FtZQ=="
#define GAME_FIRST_UPPERCASE_STR  BBASM_UNCONFUSED_STR_METHOD(@"R2FtZQ==")
// miniprogram @"bWluaXByb2dyYW0="
#define MINI_PROGRAM_LOWERCASE_STR   BBASM_UNCONFUSED_STR_METHOD(@"bWluaXByb2dyYW0=")
// smartprogram @"c21hcnRwcm9ncmFt"
#define SMART_PROGRAM_LOWERCASE_STR   BBASM_UNCONFUSED_STR_METHOD(@"c21hcnRwcm9ncmFt")
// isreview @"aXNyZXZpZXc="
#define IS_REVIEW_LOWERCASE_STR   BBASM_UNCONFUSED_STR_METHOD(@"aXNyZXZpZXc=")
// 小程序 @"5bCP56iL5bqP"
#define CHINESE_MINI_PROGRAM_STR   BBASM_UNCONFUSED_STR_METHOD(@"5bCP56iL5bqP")
// 智xxx序 @"5pm66IO95bCP56iL5bqP"
#define CHINESE_SMART_PROGRAM_STR   BBASM_UNCONFUSED_STR_METHOD(@"5pm66IO95bCP56iL5bqP")
// 小游戏 @"5bCP5ri45oiP"
#define CHINESE_MINI_GAME_STR   BBASM_UNCONFUSED_STR_METHOD(@"5bCP5ri45oiP")
// 屏蔽 @"5bGP6JS9"
#define CHINESE_BLOCK_STR   BBASM_UNCONFUSED_STR_METHOD(@"5bGP6JS9")
// 审核 @"5a6h5qC4"SEARCH
#define CHINESE_REVIEW_STR   BBASM_UNCONFUSED_STR_METHOD(@"5a6h5qC4")
// 搜索XCX
#define CHINESE_SEARCH_MINI_PROGRAM_STR   BBASM_UNCONFUSED_STR_METHOD(@"5pCc57Si5bCP56iL5bqP")

// m i n i a p p
#define BBASM_MNAPP_LOWERCASE_STR BBASM_UNCONFUSED_STR_METHOD(@"bWluaWFwcA==")

// M I N I A P P
#define BBASM_MNAPP_UPPERCASE_STR BBASM_UNCONFUSED_STR_METHOD(@"TUlOSUFQUA==")

// a i a p p
#define BBASM_A_I_APP_LOWERCASE_STR BBASM_UNCONFUSED_STR_METHOD(@"YWlhcHA=")

// m i n i a p p / m i n i a p p
#define BBASM_MNAPP_MNAPP_LOWERCASE_STR BBASM_UNCONFUSED_STR_METHOD(@"bWluaWFwcC9taW5pYXBw")

// m i n i
#define BBASM_M_I_N_I_LOWERCASE_STR BBASM_UNCONFUSED_STR_METHOD(@"bWluaQ==")

// 传入原字符串获取混淆后的字符串
#define BBASM_CONFUSED_STR_METHOD(__string__) \
[BBASMProtectUtility BBASMC_encryptedStringForProtect:__string__]

// 传入混淆后的字符串,获取原字符串
#define BBASM_UNCONFUSED_STR_METHOD(__confusedString__) \
[BBASMProtectUtility BBASMC_decryptedStringForProtect:__confusedString__]

// 拼接字符串(提供该宏主要是方便定义常量宏时使用)
#define BBASM_JOIN_STR_METHOD(__prefix__, __string__, __suffix__) \
[BBASMProtectUtility BBASMC_joinStringWithPrefix:__prefix__ \
string:__string__ \
suffix:__suffix__]

// 拼接字符串(提供该宏主要是方便定义常量宏时使用)
#define XCX_JOIN_STR_METHOD(__prefix__, __string__, __suffix__) \
[BBASMProtectUtility BBASMC_joinStringWithPrefix:__prefix__ \
string:__string__ \
suffix:__suffix__]

NS_ASSUME_NONNULL_BEGIN

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

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

/**
 * @brief 提供拼接字符串方法
 * @param prefix 字符串前缀
 * @param string 字符串中间内容
 * @param suffix 字符串后缀
 * @return 返回拼接后的字符串
 */
+ (NSString *)BBASMC_joinStringWithPrefix:(NSString *)prefix
                                  string:(NSString *)string
                                  suffix:(NSString *)suffix;


@end

NS_ASSUME_NONNULL_END