developer
2023-05-20 e12c7b4c22df631ebdcd16b2f98fbef8f738f92f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
//
//  ISecurityGuardOpenSafeToken.h
//  SecurityGuardMain
//
//  Created by chenkong on 15/12/17.
//  Copyright © 2015年 Li Fengzhong. All rights reserved.
//
 
#ifndef ISecurityGuardOpenSafeToken_h
#define ISecurityGuardOpenSafeToken_h
 
#if TARGET_OS_WATCH
#import <SecurityGuardSDKWatch/Open/IOpenSecurityGuardPlugin.h>
#else
#import <SecurityGuardSDK/Open/IOpenSecurityGuardPlugin.h>
#endif
 
@protocol ISecurityGuardOpenSafeToken <NSObject, IOpenSecurityGuardPluginInterface>
 
/**
 *  存储token
 *  @param value 存储的value
 *  @param key token值对应的key
 *  @return 存储操作的结果
 */
- (BOOL) saveToken: (NSString*) value
            forKey: (NSString*) key
        additional: (NSString*) additional
              flag: (int) flag;
 
/**
 *  检测token是否存在
 *  @param key string值对应的key
 *  @return 检测token是否存在的结果
 */
- (BOOL) isTokenExist: (NSString*) key;
 
/**
 *  删除本地存储的token
 *  @param key 存储值要使用的key
 *  @return 存储操作结果
 */
- (void) removeToken: (NSString*) key;
 
/**
 *  使用token加密数据
 *  @param key token值对应的key
 *  @param plaintext 待加密的byte数组
 *  @param flag 扩展参数,缺省为0
 *  @return 返回加密结果,加密失败返回nil
 */
- (NSData*) encryptWithToken: (NSString*) key
                   inputData: (NSData*) plaintext
                        flag: (int)  flag;
 
/**
 *  使用token解密数据
 *  @param key token值对应的key
 *  @param encrypted 待解密的数据
 *  @param flag 扩展参数,缺省为0
 *  @return 返回解密结果,解密失败返回nil
 */
- (NSData*) decryptWithToken: (NSString*)  key
                   inputData: (NSData*) encrypted
                        flag: (int)  flag;
 
/**
 *  使用token对数据进行签名
 *  @param key token值对应的key
 *  @param data 待签名的byte数组
 *  @param flag 扩展参数,缺省为0
 *  @return 返回签名结果,签名失败返回nil
 */
- (NSString*) signWithToken: (NSString*) key
                  inputData: (NSData*) data
                       flag: (int) flag;
 
 
/**
 *  获取Otp验证码,目前只适用于支付宝钱包
 *  @param key token值对应的key
 *  @param flag 对应不同的算法和配置,目前只支持0,即支付宝的otp算法
 *  @param strings 传入具体的参数。根据支付宝OTP的要求,需要传入:servertime、codetype和可扩展的extinfo参数。其中,servertime 需要是大于0的长整形,codetype只允许“0”和“1”,extinfo可为空
 *  @param byteArgs 扩展字段,暂未使用
 *  @return 返回长度为18或者16的byte数组,失败返回nil
 */
- (NSData*) getOtp: (NSString*) key
              flag: (int) flag
           strings: (NSArray*) strings
          byteArgs: (NSData*) byteArgs;
 
/**
 *  获取Otp验证码,目前只适用于支付宝钱包
 *  @param key token值对应的key
 *  @param flag 对应不同的算法和配置,目前只支持0,即支付宝的otp算法
 *  @param strings 传入具体的参数。根据支付宝OTP的要求,需要传入:servertime、codetype和可扩展的extinfo参数。其中,servertime 需要是大于0的长整形,codetype只允许“0”和“1”,extinfo可为空
 *  @param byteArgs 扩展字段,暂未使用
 *  @return 返回长度为18或者16的byte数组,失败返回nil
 */
- (NSData*) getOtp: (NSString*) key
              flag: (int) flag
           strings: (NSArray*) strings
          byteArgs: (NSData*) byteArgs
          authCode: (NSString*) authCode;
 
 
@end
 
#endif /* ISecurityGuardOpenSafeToken_h */