diff --git a/src/jamidht/archive_account_manager.cpp b/src/jamidht/archive_account_manager.cpp index 5b930b04efdba91359ea5a2661bc828086d231ad..9b887bb4bec4b43d235975ee3a90e72ec9ec6696 100644 --- a/src/jamidht/archive_account_manager.cpp +++ b/src/jamidht/archive_account_manager.cpp @@ -653,15 +653,18 @@ ArchiveAccountManager::changePassword(const std::string& password_old, } std::string -generatePIN(size_t length = 8) +generatePIN(size_t length = 16, size_t split = 8) { static constexpr const char alphabet[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; dht::crypto::random_device rd; std::uniform_int_distribution<size_t> dis(0, sizeof(alphabet) - 2); std::string ret; ret.reserve(length); - for (size_t i = 0; i < length; i++) + for (size_t i = 0; i < length; i++) { ret.push_back(alphabet[dis(rd)]); + if (i % split == split - 1 and i != length - 1) + ret.push_back('-'); + } return ret; }