ISecurityGuardOpenSafeToken.h 3.5 KB

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