Просмотр исходного кода

Simplify password generation in sharemodel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
Claudio Cambra 2 лет назад
Родитель
Сommit
282fcad0af
1 измененных файлов с 9 добавлено и 4 удалено
  1. 9 4
      src/gui/filedetails/sharemodel.cpp

+ 9 - 4
src/gui/filedetails/sharemodel.cpp

@@ -37,10 +37,15 @@ QString createRandomPassword()
     constexpr auto numChars = 24;
     QString passwd;
 
-    while(passwd.length() < numChars) {
-        const auto remainingChars = numChars - passwd.length();
-        unsigned char unsignedCharArray[remainingChars];
-        RAND_bytes(unsignedCharArray, remainingChars);
+    unsigned char unsignedCharArray[numChars];
+    RAND_bytes(unsignedCharArray, numChars);
+
+    for (auto i = 0; i < numChars; i++) {
+        auto byte = unsignedCharArray[i];
+        byte %= asciiRange;
+        byte += asciiMin;
+        passwd.append(byte);
+    }
 
         for (auto i = 0; i < remainingChars; i++) {
             auto byte = unsignedCharArray[i];