Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #include "base64.hh"
  2. #include "iostream"
  3. using namespace criptobase;
  4. using namespace std;
  5.  
  6. list<char>
  7. criptobase::encodeBase64(list<char> str)
  8. {
  9. int paddingCount = 0;
  10. list<char> encoded;
  11.  
  12. while (str.size() % 3) {
  13. str.push_back('\0');
  14. paddingCount++;
  15. }
  16.  
  17. // aqui rola uma putaria entre os bits
  18. for (auto it = str.begin(); it != str.end(); ++it) {
  19. char a = *it, b = (++it, *it), c = (++it, *it);
  20.  
  21. encoded.push_back(table[(a & 0b11111100) >> 2]);
  22. encoded.push_back(table[(a & 0b00000011) << 4 | (b & 0b11110000) >> 4]);
  23. encoded.push_back(table[(b & 0b00001111) << 2 | (c & 0b11000000) >> 6]);
  24. encoded.push_back(table[(c & 0b00111111)]);
  25. }
  26.  
  27. // sapoha ajuda a decriptar
  28. while (paddingCount--)
  29. encoded.push_back('=');
  30.  
  31. return encoded;
  32. }
  33.  
  34. list<char>
  35. decodeBase64(list<char> str)
  36. {
  37. // TODO
  38. return list<char>();
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement