CMGDK r49-rc2
|
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