123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- //
- // 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 */
|