Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include <stdio.h>
- #include <string.h>
- /* ---- Base64 Encoding/Decoding Table --- */
- char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- /* encodeblock - encode 3 8-bit binary bytes as 4 '6-bit' characters */
- void encodeblock( unsigned char in[], char b64str[], int len ) {
- unsigned char out[5];
- out[0] = b64[ in[0] >> 2 ];
- out[1] = b64[ ((in[0] & 0x03) << 4) | ((in[1] & 0xf0) >> 4) ];
- out[2] = (unsigned char) (len > 1 ? b64[ ((in[1] & 0x0f) << 2) |
- ((in[2] & 0xc0) >> 6) ] : '=');
- out[3] = (unsigned char) (len > 2 ? b64[ in[2] & 0x3f ] : '=');
- out[4] = '\0';
- strncat(b64str, out, sizeof(out));
- }
- /* encode - base64 encode a stream, adding padding if needed */
- void b64_encode(char *clrstr, char *b64dst) {
- unsigned char in[3];
- int i, len = 0;
- int j = 0;
- b64dst[0] = '\0';
- while(clrstr[j]) {
- len = 0;
- for(i=0; i<3; i++) {
- in[i] = (unsigned char) clrstr[j];
- if(clrstr[j]) {
- len++; j++;
- }
- else in[i] = 0;
- }
- if( len ) {
- encodeblock( in, b64dst, len );
- }
- }
- }
- int main(int argc, char *argv[])
- {
- char u[3] = "-u";
- char p[3] = "-p";
- if(strcmp(argv[1],u)!=0 || strcmp(argv[3],p)!=0)
- printf("Oops! Something is wrong... \nExample: ./Tema1 -u [username] -p [password]\n");
- else
- printf("Username: %s \nPassword: %s\n",argv[2],argv[4]);
- char mysrc[] = " ";
- strcpy(mysrc,argv[4]);
- char myb64[1024] = "";
- char mydst[1024] = "";
- b64_encode(mysrc, myb64);
- printf("The string\n[%s]\nencodes into base64 as:\n[%s]\n", mysrc, myb64);
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement