/* * Get a string as an input and returns a plain string */ std::string base64_decrypt(std::string input) { std::map<char, int> mapping; char byte1, byte2, byte3; int mapped; int32_t binary_datum {0}; std::string retval; mapping = build_reverse_map(); for(int i = 0; i < input.size(); i += 4){ std::string datum {input.substr(i, 4)}; binary_datum = 0; for(char c : datum){ mapped = mapping[c]; binary_datum |= mapped; binary_datum <<= 6; } binary_datum >>= 6; byte1 = (binary_datum % 256); binary_datum >>= 8; byte2 = (binary_datum % 256); binary_datum >>= 8; byte3 = (binary_datum % 256); retval += byte3; retval += byte2; retval += byte1; } return retval; }
void Ioss::Map::build_reverse_map(int processor) { if (map[0] == 1) { build_reverse_map(map.size()-1, 0, processor); } }
void Ioss::Map::build_reverse_map() { if (map[0] == 1) { build_reverse_map(map.size()-1, 0); } }