- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
string pswdGen(int quantity) {
srand(time(0));
char chars[] = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890@\#\$\%\&\-\+\!\/\_"; // Символы, из которых будет состоять пароль
string password;
for(int i = 0; i < quantity; i++) {
password += chars[rand() % (sizeof(chars)/sizeof(*chars))]; // Добавить рандомный символ из списка в пароль
}
return password;
}
int main() {
int charNo;
cout << "How many characters do you want in the password?" << endl;
cin >> charNo;
cout << "Your new password is: " << pswdGen(charNo) << endl;
return 0;
}
Генерит произвольные пароли. Говно?
j123123 05.08.2018 15:30 # +2
bormand 05.08.2018 15:53 # +2
roskomgovno 06.08.2018 04:03 # 0
Криптолокеры не имеют ключа для расшифровки: они просто затирают данные рендомной хуйней, а после получения оплаты высылают случайную последстовательность символов.
Не удалось расшифровать файлы? Ну, можешь обратиться в полицию
bormand 06.08.2018 06:44 # 0
Steve_Brown 06.08.2018 15:21 # 0
bormand 06.08.2018 17:49 # 0
Вирус активизировался в январе 2008 года и поразил системы семи органов исполнительной власти области, городской Думы Благовещенска, избирательной комиссии области, Благовещенского городского суда, УВД по Амурской области и других учреждений.
Хотя тут чувак что-то совсем легко отделался...
roskomgovno 06.08.2018 17:54 # 0
>>ОДИТЬ РЯДОМ И СМЕЯТЬСЯ НАД ТЕМ КАК ТЫ, СУКА, ИЩЕШЬ ВИНОВНИКА!! СОСИ ХУЙ, ЛИЖИ ПИЗДУ!! ХАХАХАХ \Penetrator\
ох, лол
guest8 06.08.2018 17:56 # −999
bormand 06.08.2018 18:03 # 0
guest8 06.08.2018 18:27 # −999
bormand 06.08.2018 18:27 # 0
На вирустотале в инфе из хедеров написано: Compilation timestamp 2007-09-16 12:22:27.
guest8 06.08.2018 18:00 # −999
bormand 06.08.2018 18:00 # 0
roskomgovno 06.08.2018 18:01 # +1
Я -- вирус, и чтобы я работал, пожалуйста установите мой рантайм.
Хотя мы тут уже обсуждали что кусок вбрантайма есть на винде
bormand 06.08.2018 18:29 # 0
shite 06.08.2018 17:08 # 0
webmonkey 05.08.2018 16:15 # +1
2) Скорее всего, оператор += применительно к строке будет неэффективным, особенно учитывая то что размер строки заранее известен.
Позволю себе привести то как я бы реализовал данный тобой алгоритм.
bormand 05.08.2018 16:17 # +1
std::random_device may be implemented in terms of an implementation-defined pseudo-random number engine if a non-deterministic source (e.g. a hardware device) is not available to the implementation. In this case each std::random_device object may generate the same number sequence.
A notable implementation where std::random_device is deterministic is MinGW (bug 338).
bormand 05.08.2018 16:25 # 0
webmonkey 05.08.2018 16:53 # 0
bormand 05.08.2018 17:04 # 0
webmonkey 05.08.2018 17:38 # 0
1.https://codereview.stackexchange.com/questions/109260/seed-stdmt19937-from-stdrandom-device
bormand 05.08.2018 17:52 # +1
Но с точки зрения криптографии -- тоже фигня, конечно. MT -- не самая подходящая функция для KDF. К random_device после той фразы в спеке и факапа в mingw у меня вообще никакого доверия нет.
В общем, если бы мне надо было генерить пароли, я бы взял за основую нормальную криптографическую либу. Ну а поверх её генератора уже можно натянуть uniform_int_distribution.
bormand 05.08.2018 18:02 # 0
HighVoltageDick 05.08.2018 18:10 # 0
bormand 05.08.2018 18:15 # 0
bormand 05.08.2018 18:18 # 0
HighVoltageDick 05.08.2018 19:55 # 0
bormand 05.08.2018 19:55 # +1
webmonkey 05.08.2018 17:02 # +1
Рано или поздно породит chars.length()
Elvenfighter 05.08.2018 17:15 # +2
bormand 05.08.2018 17:17 # +2
З.Ы. Версия с srand(&seed) поинтересней выглядит с учётом ASLR.
webmonkey 05.08.2018 17:18 # +2
https://xkcd.com/221/
guest8 05.08.2018 17:26 # −999
bormand 05.08.2018 17:38 # 0
bar-u-xoloda 05.08.2018 18:51 # 0
HighVoltageDick 05.08.2018 18:55 # 0
bar-u-xoloda 05.08.2018 20:09 # 0
guest8 05.08.2018 20:10 # −999
anonimb84a2f8fd141 05.08.2018 21:19 # 0
HighVoltageDick 05.08.2018 21:43 # 0
Факт.
Отправлено автоматически. Ругаться бесполезно.
j123123 05.08.2018 18:36 # −1
Кажется в каком-то старом приложении на Java для взаимодействия с банком (работа с расчетным счетом там, платежи принимать-отправлять) было еще такое окошечко сраное, в котором надо было мышкой порисовать какой-то хуйни, чтоб рандом собрался
bar-u-xoloda 05.08.2018 18:50 # 0
Desktop 05.08.2018 19:30 # 0
А, ты про подпись. Тогда в принципе да
codemonkey 05.08.2018 16:51 # 0
bormand 05.08.2018 17:08 # +1
guest8 05.08.2018 17:23 # −999
bormand 05.08.2018 17:29 # +1
Вот есть у тебя 200 шаров и 3 коробки. Сможешь ли ты равномерно раскидать эти шары по коробкам? Очевидно, что нет.
Чтобы не потерять равномерность распределения придётся часть вариантов выкинуть (рероллить на них рандом пока не выпадет что-то хорошее).
Например, если при преобразованнии [0; 200) в [0; 3) у тебя выпадает 198 или 199, то ты тупо рероллишь новое число из [0; 200) пока не выпадет что-то поменьше.
Psionic 07.08.2018 16:25 # 0
bormand 07.08.2018 18:09 # 0
guest8 05.08.2018 18:19 # −999
666_N33D135 05.08.2018 20:54 # 0
guest8 05.08.2018 21:16 # −999
666_N33D135 06.08.2018 15:34 # 0
Это то же самое, если бы в программе на C++ было бы:
Psionic 07.08.2018 12:40 # 0
shite 08.08.2018 00:15 # 0
И да,
. Лол.
1024-- 08.08.2018 21:25 # 0
Не хватает "#define point ." для десятичной точки.