@@ -64,11 +64,7 @@ utility::string_t sha1_sign(const utility::string_t& context, const utility::str
6464 unsigned int encrypted_length;
6565 unsigned char hash[SHA_DIGEST_LENGTH] = { 0 };
6666
67- #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
68- auto str_transfer_content = utility::conversions::utf16_to_utf8 (context);
69- #else
70- auto str_transfer_content = context;
71- #endif
67+ auto str_transfer_content = str16to8 (context);
7268 int context_size = str_transfer_content.size ();
7369 SHA1 ((const unsigned char *)str_transfer_content.c_str (), context_size, hash);
7470 RSA *rsa = create_rsa ((utility::char_t *)key.c_str (), true );
@@ -83,21 +79,22 @@ utility::string_t sha1_sign(const utility::string_t& context, const utility::str
8379
8480int sha1_verify (const utility::string_t & context, const utility::string_t & sign, const utility::string_t & key) {
8581
86- utility::char_t sigbuf[8196 * 16 ] = {};
82+ auto context_s = str16to8 (context);
83+ unsigned char sigbuf[8196 * 16 ] = {};
8784 unsigned int siglen = 0 ;
8885
89- utility:: string_t decoded = TIGER_API::base64_decode (sign);
86+ std::string decoded = str16to8 ( TIGER_API::base64_decode (sign) );
9087 memcpy (sigbuf, decoded.data (), decoded.size ());
9188 siglen = decoded.size ();
9289
9390 unsigned char hash[SHA_DIGEST_LENGTH] = { 0 };
9491
95- SHA1 ((const unsigned char *)context .c_str (), context .size (), hash);
92+ SHA1 ((const unsigned char *)context_s .c_str (), context_s .size (), hash);
9693
9794 RSA *rsa = create_rsa ((utility::char_t *)key.c_str (), false );
9895
9996 int ret = RSA_verify (NID_sha1, hash, SHA_DIGEST_LENGTH,
100- reinterpret_cast < unsigned char *>( sigbuf) , siglen, rsa);
97+ sigbuf, siglen, rsa);
10198 return ret;
10299
103100}
0 commit comments