bin/memcp: fix cast
[m6w6/libmemcached] / src / libhashkit / encrypt.cc
1 /*
2 +--------------------------------------------------------------------+
3 | libmemcached - C/C++ Client Library for memcached |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted under the terms of the BSD license. |
7 | You should have received a copy of the license in a bundled file |
8 | named LICENSE; in case you did not receive a copy you can review |
9 | the terms online at: https://opensource.org/licenses/BSD-3-Clause |
10 +--------------------------------------------------------------------+
11 | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ |
12 | Copyright (c) 2020 Michael Wallner <mike@php.net> |
13 +--------------------------------------------------------------------+
14 */
15
16 #include "libhashkit/common.h"
17
18 hashkit_string_st *hashkit_encrypt(hashkit_st *kit, const char *source, size_t source_length) {
19 return aes_encrypt(static_cast<aes_key_t *>(kit->_key), source, source_length);
20 }
21
22 hashkit_string_st *hashkit_decrypt(hashkit_st *kit, const char *source, size_t source_length) {
23 return aes_decrypt(static_cast<aes_key_t *>(kit->_key), source, source_length);
24 }
25
26 bool hashkit_key(hashkit_st *kit, const char *key, const size_t key_length) {
27 if (kit->_key) {
28 free(kit->_key);
29 }
30
31 kit->_key = aes_create_key(key, key_length);
32
33 return bool(kit->_key);
34 }