my_aes.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2002 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
  2.  This program is free software; you can redistribute it and/or modify
  3.  it under the terms of the GNU General Public License as published by
  4.  the Free Software Foundation; either version 2 of the License, or
  5.  (at your option) any later version.
  6.  This program is distributed in the hope that it will be useful,
  7.  but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.  GNU General Public License for more details.
  10.  You should have received a copy of the GNU General Public License
  11.  along with this program; if not, write to the Free Software
  12.  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. /* Header file for my_aes.c */
  14. /* Wrapper to give simple interface for MySQL to AES standard encryption */
  15. #include "rijndael.h"
  16. C_MODE_START
  17. #define AES_KEY_LENGTH 128 /* Must be 128 192 or 256 */
  18. /*
  19.   my_aes_encrypt - Crypt buffer with AES encryption algorithm.
  20.   source - Pointer to data for encryption
  21.   source_length - size of encryption data
  22.   dest - buffer to place encrypted data (must be large enough)
  23.   key - Key to be used for encryption
  24.   kel_length - Length of the key. Will handle keys of any length
  25.   returns  - size of encrypted data, or negative in case of error.
  26. */
  27. int my_aes_encrypt(const char *source, int source_length, char *dest,
  28.    const char *key, int key_length);
  29. /*
  30.   my_aes_decrypt - DeCrypt buffer with AES encryption algorithm.
  31.   source - Pointer to data for decryption
  32.   source_length - size of encrypted data
  33.   dest - buffer to place decrypted data (must be large enough)
  34.   key - Key to be used for decryption
  35.   kel_length - Length of the key. Will handle keys of any length
  36.   returns  - size of original data, or negative in case of error.
  37. */
  38. int my_aes_decrypt(const char *source, int source_length, char *dest,
  39.    const char *key, int key_length);
  40. /*
  41.   my_aes_get_size - get size of buffer which will be large enough for encrypted
  42.     data
  43.   source_length   -  length of data to be encrypted
  44.   returns  - size of buffer required to store encrypted data
  45. */
  46. int my_aes_get_size(int source_length);
  47. C_MODE_END