User's Manual
113 
 o_buf[j++] = keyStr[enc4]; 
    // OK, now clean out the variables used. 
 chr1 = chr2 = chr3 = (char)0; 
    enc1 = enc2 = enc3 = enc4 = (char)0; 
  } while (i < strlen(i_buf)); //And finish off the loop 
  //Now return the encoded values. 
 return j; 
} 
//-------------------------------------------------------------------- 
// Description: decrypt the input data with the base64 
// Input: 
//  char i_buf[]  - input buffer 
// Output: 
//  char o_buf[]  - output buffer 
// Return: 
//  decrypted string length 
//-------------------------------------------------------------------- 
int decode64(char i_buf[], char o_buf[]) { 
  //These are the 3 bytes to be encoded 
  char chr1 = (char)0; 
  char chr2 = (char)0; 
  char chr3 = (char)0; 
  //These are the 4 encoded bytes 
  int enc1 = 0; 
  int enc2 = 0; 
  int enc3 = 0; 
  int enc4 = 0; 
  int i = 0, j = 0; //Position counter 
  do { //Here’s the decode loop. 
    //Grab 4 bytes of encoded content. 
    enc1 = (int)(strchr(keyStr, i_buf[i++]) - keyStr); 
 if(i < strlen(i_buf)) 
      enc2 = (int)(strchr(keyStr, i_buf[i++]) - keyStr); 
 if(i < strlen(i_buf)) 
      enc3 = (int)(strchr(keyStr, i_buf[i++]) - keyStr); 
 if(i < strlen(i_buf)) 
      enc4 = (int)(strchr(keyStr, i_buf[i++]) - keyStr); 
    //Heres the decode part. There’s really only one way to do it. 










