APR-UTIL SHA1 library.  
More...
#include "apu.h"
#include "apr_general.h"
Go to the source code of this file.
      
        
          | #define APR_SHA1_DIGESTSIZE   20 | 
        
      
 
 
      
        
          | #define APR_SHA1PW_ID   "{SHA}" | 
        
      
 
Define the Magic String prefix that identifies a password as being hashed using our algorithm. 
 
 
      
        
          | #define APR_SHA1PW_IDLEN   5 | 
        
      
 
length of the SHA Password 
 
 
      
        
          | void apr_sha1_base64  | 
          ( | 
          const char *  | 
          clear,  | 
        
        
           | 
           | 
          int  | 
          len,  | 
        
        
           | 
           | 
          char *  | 
          out  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Provide a means to SHA1 crypt/encode a plaintext password in a way which makes password file compatible with those commonly use in netscape web and ldap installations. 
- Parameters
 - 
  
    | clear | The plaintext password  | 
    | len | The length of the plaintext password  | 
    | out | The encrypted/encoded password  | 
  
   
- Note
 - SHA1 support is useful for migration purposes, but is less secure than Apache's password format, since Apache's (MD5) password format uses a random eight character salt to generate one of many possible hashes for the same password. Netscape uses plain SHA1 without a salt, so the same password will always generate the same hash, making it easier to break since the search space is smaller. 
 
 
 
      
        
          | void apr_sha1_final  | 
          ( | 
          unsigned char  | 
          digest[APR_SHA1_DIGESTSIZE],  | 
        
        
           | 
           | 
          apr_sha1_ctx_t *  | 
          context  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Finish computing the SHA digest 
- Parameters
 - 
  
    | digest | the output buffer in which to store the digest  | 
    | context | The context to finalize  | 
  
   
 
 
Initialize the SHA digest 
- Parameters
 - 
  
    | context | The SHA context to initialize  | 
  
   
 
 
      
        
          | void apr_sha1_update  | 
          ( | 
          apr_sha1_ctx_t *  | 
          context,  | 
        
        
           | 
           | 
          const char *  | 
          input,  | 
        
        
           | 
           | 
          unsigned int  | 
          inputLen  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Update the SHA digest 
- Parameters
 - 
  
    | context | The SHA1 context to update  | 
    | input | The buffer to add to the SHA digest  | 
    | inputLen | The length of the input buffer  | 
  
   
 
 
      
        
          | void apr_sha1_update_binary  | 
          ( | 
          apr_sha1_ctx_t *  | 
          context,  | 
        
        
           | 
           | 
          const unsigned char *  | 
          input,  | 
        
        
           | 
           | 
          unsigned int  | 
          inputLen  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Update the SHA digest with binary data 
- Parameters
 - 
  
    | context | The SHA1 context to update  | 
    | input | The buffer to add to the SHA digest  | 
    | inputLen | The length of the input buffer  |