summaryrefslogtreecommitdiff
path: root/xs_openssl.h
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-09-21 09:17:59 +0200
committerdefault <nobody@localhost>2022-09-21 09:17:59 +0200
commit9573dbcdb698bf863af9921e305ff2d818d30fe2 (patch)
tree01f21663e102169f2fa92210b9cc75496259f718 /xs_openssl.h
parent8dadbbc78ee71e1a60d263b902759d53fc297e7e (diff)
New function xs_sha256_base64().
Diffstat (limited to 'xs_openssl.h')
-rw-r--r--xs_openssl.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/xs_openssl.h b/xs_openssl.h
index a6a17b1..43a18e1 100644
--- a/xs_openssl.h
+++ b/xs_openssl.h
@@ -7,6 +7,7 @@
d_char *xs_md5_hex(const void *input, int size);
d_char *xs_sha1_hex(const void *input, int size);
d_char *xs_sha256_hex(const void *input, int size);
+d_char *xs_sha256_base64(const void *input, int size);
d_char *xs_rsa_genkey(int bits);
d_char *xs_rsa_sign(char *secret, char *mem, int size);
int xs_rsa_verify(char *pubkey, char *mem, int size, char *b64sig);
@@ -45,19 +46,38 @@ d_char *xs_sha1_hex(const void *input, int size)
}
-d_char *xs_sha256_hex(const void *input, int size)
+unsigned char *_xs_sha256(const void *input, int size, unsigned char *sha256)
{
- unsigned char sha256[32];
SHA256_CTX ctx;
SHA256_Init(&ctx);
SHA256_Update(&ctx, input, size);
SHA256_Final(sha256, &ctx);
+ return sha256;
+}
+
+
+d_char *xs_sha256_hex(const void *input, int size)
+{
+ unsigned char sha256[32];
+
+ _xs_sha256(input, size, sha256);
+
return xs_hex_enc((char *)sha256, sizeof(sha256));
}
+d_char *xs_sha256_base64(const void *input, int size)
+{
+ unsigned char sha256[32];
+
+ _xs_sha256(input, size, sha256);
+
+ return xs_base64_enc((char *)sha256, sizeof(sha256));
+}
+
+
d_char *xs_rsa_genkey(int bits)
/* generates an RSA keypair */
{