| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #ifndef COS_CPP_SDK_V5_INCLUDE_UTIL_CODEC_UTIL_H_
- #define COS_CPP_SDK_V5_INCLUDE_UTIL_CODEC_UTIL_H_
- #include <stdint.h>
- #include <string>
- namespace qcloud_cos {
- class CodecUtil {
- public:
- /**
- * @brief 将字符x转成十六进制 (x的值[0, 15])
- *
- * @param x
- *
- * @return 十六进制字符
- */
- static unsigned char ToHex(const unsigned char& x);
- /**
- * @brief 将二进制数据转成十六进制 (x的值[0, 15]),上层调用保证hex的大小足够
- *
- * @param bin
- *
- * @param binLen
- *
- * @param hex 存放结果的数据块
- *
- * @return 无
- */
- static void BinToHex(const unsigned char* bin, unsigned int binLen,
- char* hex);
- static bool IsalnumAscii(int c);
- static std::string EncodeKey(const std::string& key);
- /**
- * @brief 对字符串进行URL编码
- *
- * @param str 带编码的字符串
- *
- * @return 经过URL编码的字符串
- */
- static std::string UrlEncode(const std::string& str);
- /**
- * @brief 对字符串进行base64编码
- *
- * @param plainText 待编码的字符串
- *
- * @return 编码后的字符串
- */
- static std::string Base64Encode(const std::string& plainText);
- /**
- * @brief 获取hmacSha1值
- *
- * @param plainText 明文
- * @param key 秘钥
- *
- * @return 获取的hmacsha1值
- */
- static std::string HmacSha1(const std::string& plainText,
- const std::string& key);
- /**
- * @brief 获取hmacSha1的16进制值
- *
- * @param plainText 明文
- * @param key 秘钥
- *
- * @return 获取的hmacsha1的16进制值
- */
- static std::string HmacSha1Hex(const std::string& plainText,
- const std::string& key);
- static std::string RawMd5(const std::string& plainText);
- static std::string RawMd51(const std::string& plainText);
- static std::string HexToBin(const std::string& strHex);
- static std::string DigestToHex(const unsigned char *digest, size_t len);
- };
- } // namespace qcloud_cos
- #endif // COS_CPP_SDK_V5_INCLUDE_UTIL_CODEC_UTIL_H_
|