mirror of
https://git.telodendria.io/Telodendria/Cytoplasm.git
synced 2024-11-21 19:50:47 +03:00
Merge pull request 'Start optionally using the SHA implementation from the existing crypto API' (#44) from lda/Cytoplasm:opt-ssl-for-sha into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/44
This commit is contained in:
commit
f5ce4f5238
2 changed files with 46 additions and 1 deletions
|
@ -28,6 +28,27 @@
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
|
/* TODO: Verify LibreSSL support later */
|
||||||
|
#if TLS_IMPL == TLS_OPENSSL
|
||||||
|
|
||||||
|
#include <openssl/sha.h>
|
||||||
|
|
||||||
|
unsigned char *
|
||||||
|
Sha1(char *str)
|
||||||
|
{
|
||||||
|
unsigned char *digest;
|
||||||
|
if (!str)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
digest = Malloc(20 + 1);
|
||||||
|
SHA1((unsigned char *) str, strlen(str), digest);
|
||||||
|
digest[20] = '\0';
|
||||||
|
return digest;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
#define LOAD32H(x, y) \
|
#define LOAD32H(x, y) \
|
||||||
{ \
|
{ \
|
||||||
x = ((uint32_t)((y)[0] & 255) << 24) | \
|
x = ((uint32_t)((y)[0] & 255) << 24) | \
|
||||||
|
@ -264,3 +285,4 @@ Sha1(char *str)
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -21,14 +21,36 @@
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include <Sha.h>
|
|
||||||
#include <Memory.h>
|
#include <Memory.h>
|
||||||
|
#include <Sha.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* TODO: Verify LibreSSL support later */
|
||||||
|
#if TLS_IMPL == TLS_OPENSSL
|
||||||
|
|
||||||
|
#include <openssl/sha.h>
|
||||||
|
|
||||||
|
unsigned char *
|
||||||
|
Sha256(char *str)
|
||||||
|
{
|
||||||
|
unsigned char *digest;
|
||||||
|
if (!str)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
digest = Malloc(32 + 1);
|
||||||
|
SHA256((unsigned char *) str, strlen(str), digest);
|
||||||
|
digest[32] = '\0';
|
||||||
|
return digest;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
#define GET_UINT32(x) \
|
#define GET_UINT32(x) \
|
||||||
(((uint32_t)(x)[0] << 24) | \
|
(((uint32_t)(x)[0] << 24) | \
|
||||||
((uint32_t)(x)[1] << 16) | \
|
((uint32_t)(x)[1] << 16) | \
|
||||||
|
@ -230,3 +252,4 @@ Sha256(char *str)
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue