code fixes regarding openssl
This commit is contained in:
parent
8d144ab8f4
commit
9a2bf3c198
@ -23,13 +23,13 @@ HmacHash::HmacHash(uint32 len, uint8 *seed)
|
|||||||
{
|
{
|
||||||
ASSERT(len == SEED_KEY_SIZE);
|
ASSERT(len == SEED_KEY_SIZE);
|
||||||
|
|
||||||
HMAC_CTX_init(&m_ctx);
|
m_ctx = HMAC_CTX_new();
|
||||||
HMAC_Init_ex(&m_ctx, seed, SEED_KEY_SIZE, EVP_sha1(), NULL);
|
HMAC_Init_ex(m_ctx, seed, SEED_KEY_SIZE, EVP_sha1(), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
HmacHash::~HmacHash()
|
HmacHash::~HmacHash()
|
||||||
{
|
{
|
||||||
HMAC_CTX_cleanup(&m_ctx);
|
HMAC_CTX_free(m_ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HmacHash::UpdateBigNumber(BigNumber *bn)
|
void HmacHash::UpdateBigNumber(BigNumber *bn)
|
||||||
@ -39,19 +39,19 @@ void HmacHash::UpdateBigNumber(BigNumber *bn)
|
|||||||
|
|
||||||
void HmacHash::UpdateData(const uint8 *data, int length)
|
void HmacHash::UpdateData(const uint8 *data, int length)
|
||||||
{
|
{
|
||||||
HMAC_Update(&m_ctx, data, length);
|
HMAC_Update(m_ctx, data, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HmacHash::Finalize()
|
void HmacHash::Finalize()
|
||||||
{
|
{
|
||||||
uint32 length = 0;
|
uint32 length = 0;
|
||||||
HMAC_Final(&m_ctx, (uint8*)m_digest, (unsigned int*)&length);
|
HMAC_Final(m_ctx, (uint8*)m_digest, (unsigned int*)&length);
|
||||||
ASSERT(length == SHA_DIGEST_LENGTH)
|
ASSERT(length == SHA_DIGEST_LENGTH)
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 *HmacHash::ComputeHash(BigNumber *bn)
|
uint8 *HmacHash::ComputeHash(BigNumber *bn)
|
||||||
{
|
{
|
||||||
HMAC_Update(&m_ctx, bn->AsByteArray(), bn->GetNumBytes());
|
HMAC_Update(m_ctx, bn->AsByteArray(), bn->GetNumBytes());
|
||||||
Finalize();
|
Finalize();
|
||||||
return (uint8*)m_digest;
|
return (uint8*)m_digest;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ class HmacHash
|
|||||||
uint8 *GetDigest() { return (uint8*)m_digest; }
|
uint8 *GetDigest() { return (uint8*)m_digest; }
|
||||||
int GetLength() { return SHA_DIGEST_LENGTH; }
|
int GetLength() { return SHA_DIGEST_LENGTH; }
|
||||||
private:
|
private:
|
||||||
HMAC_CTX m_ctx;
|
HMAC_CTX *m_ctx;
|
||||||
uint8 m_digest[SHA_DIGEST_LENGTH];
|
uint8 m_digest[SHA_DIGEST_LENGTH];
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -21,32 +21,32 @@
|
|||||||
|
|
||||||
SARC4::SARC4()
|
SARC4::SARC4()
|
||||||
{
|
{
|
||||||
EVP_CIPHER_CTX_init(&m_ctx);
|
m_ctx = EVP_CIPHER_CTX_new();
|
||||||
EVP_EncryptInit_ex(&m_ctx, EVP_rc4(), NULL, NULL, NULL);
|
EVP_EncryptInit_ex(m_ctx, EVP_rc4(), NULL, NULL, NULL);
|
||||||
EVP_CIPHER_CTX_set_key_length(&m_ctx, SHA_DIGEST_LENGTH);
|
EVP_CIPHER_CTX_set_key_length(m_ctx, SHA_DIGEST_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
SARC4::SARC4(uint8 *seed)
|
SARC4::SARC4(uint8 *seed)
|
||||||
{
|
{
|
||||||
EVP_CIPHER_CTX_init(&m_ctx);
|
m_ctx = EVP_CIPHER_CTX_new();
|
||||||
EVP_EncryptInit_ex(&m_ctx, EVP_rc4(), NULL, NULL, NULL);
|
EVP_EncryptInit_ex(m_ctx, EVP_rc4(), NULL, NULL, NULL);
|
||||||
EVP_CIPHER_CTX_set_key_length(&m_ctx, SHA_DIGEST_LENGTH);
|
EVP_CIPHER_CTX_set_key_length(m_ctx, SHA_DIGEST_LENGTH);
|
||||||
EVP_EncryptInit_ex(&m_ctx, NULL, NULL, seed, NULL);
|
EVP_EncryptInit_ex(m_ctx, NULL, NULL, seed, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
SARC4::~SARC4()
|
SARC4::~SARC4()
|
||||||
{
|
{
|
||||||
EVP_CIPHER_CTX_cleanup(&m_ctx);
|
EVP_CIPHER_CTX_cleanup(m_ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SARC4::Init(uint8 *seed)
|
void SARC4::Init(uint8 *seed)
|
||||||
{
|
{
|
||||||
EVP_EncryptInit_ex(&m_ctx, NULL, NULL, seed, NULL);
|
EVP_EncryptInit_ex(m_ctx, NULL, NULL, seed, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SARC4::UpdateData(int len, uint8 *data)
|
void SARC4::UpdateData(int len, uint8 *data)
|
||||||
{
|
{
|
||||||
int outlen = 0;
|
int outlen = 0;
|
||||||
EVP_EncryptUpdate(&m_ctx, data, &outlen, data, len);
|
EVP_EncryptUpdate(m_ctx, data, &outlen, data, len);
|
||||||
EVP_EncryptFinal_ex(&m_ctx, data, &outlen);
|
EVP_EncryptFinal_ex(m_ctx, data, &outlen);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,6 +31,6 @@ class SARC4
|
|||||||
void Init(uint8 *seed);
|
void Init(uint8 *seed);
|
||||||
void UpdateData(int len, uint8 *data);
|
void UpdateData(int len, uint8 *data);
|
||||||
private:
|
private:
|
||||||
EVP_CIPHER_CTX m_ctx;
|
EVP_CIPHER_CTX *m_ctx;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user