Advertisement
Guest User

Untitled

a guest
Jun 7th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5.  
  6. /* ---- Base64 Encoding/Decoding Table --- */
  7. char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  8.  
  9.  
  10.  
  11. /* encodeblock - encode 3 8-bit binary bytes as 4 '6-bit' characters */
  12. void encodeblock( unsigned char in[], char b64str[], int len ) {
  13. unsigned char out[5];
  14. out[0] = b64[ in[0] >> 2 ];
  15. out[1] = b64[ ((in[0] & 0x03) << 4) | ((in[1] & 0xf0) >> 4) ];
  16. out[2] = (unsigned char) (len > 1 ? b64[ ((in[1] & 0x0f) << 2) |
  17. ((in[2] & 0xc0) >> 6) ] : '=');
  18. out[3] = (unsigned char) (len > 2 ? b64[ in[2] & 0x3f ] : '=');
  19. out[4] = '\0';
  20. strncat(b64str, out, sizeof(out));
  21. }
  22.  
  23. /* encode - base64 encode a stream, adding padding if needed */
  24. void b64_encode(char *clrstr, char *b64dst) {
  25. unsigned char in[3];
  26. int i, len = 0;
  27. int j = 0;
  28.  
  29. b64dst[0] = '\0';
  30. while(clrstr[j]) {
  31. len = 0;
  32. for(i=0; i<3; i++) {
  33. in[i] = (unsigned char) clrstr[j];
  34. if(clrstr[j]) {
  35. len++; j++;
  36. }
  37. else in[i] = 0;
  38. }
  39. if( len ) {
  40. encodeblock( in, b64dst, len );
  41. }
  42. }
  43. }
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. int main(int argc, char *argv[])
  51. {
  52.  
  53. char u[3] = "-u";
  54. char p[3] = "-p";
  55.  
  56. if(strcmp(argv[1],u)!=0 || strcmp(argv[3],p)!=0)
  57. printf("Oops! Something is wrong... \nExample: ./Tema1 -u [username] -p [password]\n");
  58.  
  59. else
  60. printf("Username: %s \nPassword: %s\n",argv[2],argv[4]);
  61.  
  62.  
  63. char mysrc[] = " ";
  64. strcpy(mysrc,argv[4]);
  65. char myb64[1024] = "";
  66. char mydst[1024] = "";
  67. b64_encode(mysrc, myb64);
  68. printf("The string\n[%s]\nencodes into base64 as:\n[%s]\n", mysrc, myb64);
  69. printf("\n");
  70.  
  71.  
  72.  
  73.  
  74.  
  75. return 0;
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement