CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/my_aes.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 2   M y S Q L   A B 
00002  
00003    T h i s   p r o g r a m   i s   f r e e   s o f t w a r e ;   y o u   c a n   r e d i s t r i b u t e   i t   a n d / o r   m o d i f y 
00004  
00005    i t   u n d e r   t h e   t e r m s   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e   a s   p u b l i s h e d   b y 
00006  
00007    t h e   F r e e   S o f t w a r e   F o u n d a t i o n ;   v e r s i o n   2   o f   t h e   L i c e n s e . 
00008  
00009    T h i s   p r o g r a m   i s   d i s t r i b u t e d   i n   t h e   h o p e   t h a t   i t   w i l l   b e   u s e f u l , 
00010  
00011    b u t   W I T H O U T   A N Y   W A R R A N T Y ;   w i t h o u t   e v e n   t h e   i m p l i e d   w a r r a n t y   o f 
00012  
00013    M E R C H A N T A B I L I T Y   o r   F I T N E S S   F O R   A   P A R T I C U L A R   P U R P O S E .     S e e   t h e 
00014  
00015    G N U   G e n e r a l   P u b l i c   L i c e n s e   f o r   m o r e   d e t a i l s . 
00016  
00017    Y o u   s h o u l d   h a v e   r e c e i v e d   a   c o p y   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e 
00018  
00019    a l o n g   w i t h   t h i s   p r o g r a m ;   i f   n o t ,   w r i t e   t o   t h e   F r e e   S o f t w a r e 
00020  
00021    F o u n d a t i o n ,   I n c . ,   5 9   T e m p l e   P l a c e ,   S u i t e   3 3 0 ,   B o s t o n ,   M A     0 2 1 1 1 - 1 3 0 7     U S A   * / 
00022  
00023  
00024  
00025  / *   H e a d e r   f i l e   f o r   m y _ a e s . c   * / 
00026  
00027  / *   W r a p p e r   t o   g i v e   s i m p l e   i n t e r f a c e   f o r   M y S Q L   t o   A E S   s t a n d a r d   e n c r y p t i o n   * / 
00028  
00029  # i n c l u d e   " m y s y s / r i j n d a e l . h " 
00030  
00031  C _ M O D E _ S T A R T 
00032  
00033  # d e f i n e   A E S _ K E Y _ L E N G T H   1 2 8         / *   M u s t   b e   1 2 8   1 9 2   o r   2 5 6   * / 
00034  
00035  / * 
00036  
00037      m y _ a e s _ e n c r y p t     -   C r y p t   b u f f e r   w i t h   A E S   e n c r y p t i o n   a l g o r i t h m . 
00038  
00039      s o u r c e         -   P o i n t e r   t o   d a t a   f o r   e n c r y p t i o n 
00040  
00041      s o u r c e _ l e n g t h       -   s i z e   o f   e n c r y p t i o n   d a t a 
00042  
00043      d e s t             -   b u f f e r   t o   p l a c e   e n c r y p t e d   d a t a   ( m u s t   b e   l a r g e   e n o u g h ) 
00044  
00045      k e y           -   K e y   t o   b e   u s e d   f o r   e n c r y p t i o n 
00046  
00047      k e l _ l e n g t h         -   L e n g t h   o f   t h e   k e y .   W i l l   h a n d l e   k e y s   o f   a n y   l e n g t h 
00048  
00049      r e t u r n s     -   s i z e   o f   e n c r y p t e d   d a t a ,   o r   n e g a t i v e   i n   c a s e   o f   e r r o r . 
00050  
00051  * / 
00052  
00053  i n t   m y _ a e s _ e n c r y p t ( c o n s t   c h a r   * s o u r c e ,   i n t   s o u r c e _ l e n g t h ,   c h a r   * d e s t , 
00054  
00055                c o n s t   c h a r   * k e y ,   i n t   k e y _ l e n g t h ) ; 
00056  
00057  / * 
00058  
00059      m y _ a e s _ d e c r y p t     -   D e C r y p t   b u f f e r   w i t h   A E S   e n c r y p t i o n   a l g o r i t h m . 
00060  
00061      s o u r c e         -   P o i n t e r   t o   d a t a   f o r   d e c r y p t i o n 
00062  
00063      s o u r c e _ l e n g t h       -   s i z e   o f   e n c r y p t e d   d a t a 
00064  
00065      d e s t             -   b u f f e r   t o   p l a c e   d e c r y p t e d   d a t a   ( m u s t   b e   l a r g e   e n o u g h ) 
00066  
00067      k e y           -   K e y   t o   b e   u s e d   f o r   d e c r y p t i o n 
00068  
00069      k e l _ l e n g t h         -   L e n g t h   o f   t h e   k e y .   W i l l   h a n d l e   k e y s   o f   a n y   l e n g t h 
00070  
00071      r e t u r n s     -   s i z e   o f   o r i g i n a l   d a t a ,   o r   n e g a t i v e   i n   c a s e   o f   e r r o r . 
00072  
00073  * / 
00074  
00075  
00076  
00077  i n t   m y _ a e s _ d e c r y p t ( c o n s t   c h a r   * s o u r c e ,   i n t   s o u r c e _ l e n g t h ,   c h a r   * d e s t , 
00078  
00079                c o n s t   c h a r   * k e y ,   i n t   k e y _ l e n g t h ) ; 
00080  
00081  / * 
00082  
00083      m y _ a e s _ g e t _ s i z e   -   g e t   s i z e   o f   b u f f e r   w h i c h   w i l l   b e   l a r g e   e n o u g h   f o r   e n c r y p t e d 
00084  
00085                  d a t a 
00086  
00087      s o u r c e _ l e n g t h       -     l e n g t h   o f   d a t a   t o   b e   e n c r y p t e d 
00088  
00089      r e t u r n s     -   s i z e   o f   b u f f e r   r e q u i r e d   t o   s t o r e   e n c r y p t e d   d a t a 
00090  
00091  * / 
00092  
00093  i n t   m y _ a e s _ g e t _ s i z e ( i n t   s o u r c e _ l e n g t h ) ; 
00094  
00095  C _ M O D E _ E N D 
00096  
00097  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义