Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "base64.hh"
- #include "iostream"
- using namespace criptobase;
- using namespace std;
- list<char>
- criptobase::encodeBase64(list<char> str)
- {
- int paddingCount = 0;
- list<char> encoded;
- while (str.size() % 3) {
- str.push_back('\0');
- paddingCount++;
- }
- // aqui rola uma putaria entre os bits
- for (auto it = str.begin(); it != str.end(); ++it) {
- char a = *it, b = (++it, *it), c = (++it, *it);
- encoded.push_back(table[(a & 0b11111100) >> 2]);
- encoded.push_back(table[(a & 0b00000011) << 4 | (b & 0b11110000) >> 4]);
- encoded.push_back(table[(b & 0b00001111) << 2 | (c & 0b11000000) >> 6]);
- encoded.push_back(table[(c & 0b00111111)]);
- }
- // sapoha ajuda a decriptar
- while (paddingCount--)
- encoded.push_back('=');
- return encoded;
- }
- list<char>
- decodeBase64(list<char> str)
- {
- // TODO
- return list<char>();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement