CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/sha1.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 2 ,   2 0 0 6   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    T h i s   i s   t h e   h e a d e r   f i l e   f o r   c o d e   w h i c h   i m p l e m e n t s   t h e   S e c u r e 
00026  
00027    H a s h i n g   A l g o r i t h m   1   a s   d e f i n e d   i n   F I P S   P U B   1 8 0 - 1   p u b l i s h e d 
00028  
00029    A p r i l   1 7 ,   1 9 9 5 . 
00030  
00031    M a n y   o f   t h e   v a r i a b l e   n a m e s   i n   t h i s   c o d e ,   e s p e c i a l l y   t h e 
00032  
00033    s i n g l e   c h a r a c t e r   n a m e s ,   w e r e   u s e d   b e c a u s e   t h o s e   w e r e   t h e   n a m e s 
00034  
00035    u s e d   i n   t h e   p u b l i c a t i o n . 
00036  
00037    P l e a s e   r e a d   t h e   f i l e   s h a 1 . c   f o r   m o r e   i n f o r m a t i o n . 
00038  
00039    M o d i f i e d   2 0 0 2   b y   P e t e r   Z a i t s e v   t o   b e t t e r   f o l l o w   M y S Q L   s t a n d a r d s 
00040  
00041  * / 
00042  
00043  
00044  
00045  e n u m   s h a _ r e s u l t _ c o d e s 
00046  
00047  { 
00048  
00049      S H A _ S U C C E S S   =   0 , 
00050  
00051      S H A _ N U L L ,       / *   N u l l   p o i n t e r   p a r a m e t e r   * / 
00052  
00053      S H A _ I N P U T _ T O O _ L O N G ,   / *   i n p u t   d a t a   t o o   l o n g   * / 
00054  
00055      S H A _ S T A T E _ E R R O R   / *   c a l l e d   I n p u t   a f t e r   R e s u l t   * / 
00056  
00057  } ; 
00058  
00059  # d e f i n e   S H A 1 _ H A S H _ S I Z E   2 0   / *   H a s h   s i z e   i n   b y t e s   * / 
00060  
00061  / * 
00062  
00063      T h i s   s t r u c t u r e   w i l l   h o l d   c o n t e x t   i n f o r m a t i o n   f o r   t h e   S H A - 1 
00064  
00065      h a s h i n g   o p e r a t i o n 
00066  
00067  * / 
00068  
00069  t y p e d e f   s t r u c t   S H A 1 _ C O N T E X T 
00070  
00071  { 
00072  
00073      u l o n g l o n g     L e n g t h ;         / *   M e s s a g e   l e n g t h   i n   b i t s             * / 
00074  
00075      u i n t 3 2   I n t e r m e d i a t e _ H a s h [ S H A 1 _ H A S H _ S I Z E / 4 ] ;   / *   M e s s a g e   D i g e s t     * / 
00076  
00077      i n t   C o m p u t e d ;           / *   I s   t h e   d i g e s t   c o m p u t e d ?           * / 
00078  
00079      i n t   C o r r u p t e d ;         / *   I s   t h e   m e s s a g e   d i g e s t   c o r r u p t e d ?   * / 
00080  
00081      i n t 1 6   M e s s a g e _ B l o c k _ I n d e x ;     / *   I n d e x   i n t o   m e s s a g e   b l o c k   a r r a y       * / 
00082  
00083      u i n t 8   M e s s a g e _ B l o c k [ 6 4 ] ;     / *   5 1 2 - b i t   m e s s a g e   b l o c k s             * / 
00084  
00085  }   S H A 1 _ C O N T E X T ; 
00086  
00087  / * 
00088  
00089      F u n c t i o n   P r o t o t y p e s 
00090  
00091  * / 
00092  
00093  C _ M O D E _ S T A R T 
00094  
00095  i n t   m y s q l _ s h a 1 _ r e s e t ( S H A 1 _ C O N T E X T * ) ; 
00096  
00097  i n t   m y s q l _ s h a 1 _ i n p u t ( S H A 1 _ C O N T E X T * ,   c o n s t   u i n t 8   * ,   u n s i g n e d   i n t ) ; 
00098  
00099  i n t   m y s q l _ s h a 1 _ r e s u l t ( S H A 1 _ C O N T E X T *   ,   u i n t 8   M e s s a g e _ D i g e s t [ S H A 1 _ H A S H _ S I Z E ] ) ; 
00100  
00101  C _ M O D E _ E N D 
00102  
00103  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义