Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Генератор 10-ти разрядных ключей

Автор: Kaylang
Дата сообщения: 17.07.2003 13:30
Кто-нить подскажет начинающему дельфийцу, как реализовать генератор 10-ти разрядных буквенночисловых ключей?
Заранее благодарен.
Автор: UncoNNecteD
Дата сообщения: 17.07.2003 17:00
Kaylang
То есть? Просто генерировать 10ти значную последовательность?
Или надо еще ее проверять как то на валидность?

Может md5 ?
Автор: Kaylang
Дата сообщения: 17.07.2003 17:02
UncoNNecteD
Просто сгенерировать 10-тизначную последовательность... Чтобы буквы и цифры вперемешку шли...
А потом уже буду проверять, есть ли такой ключ в базе, если нету буду заносить...
Автор: redp
Дата сообщения: 17.07.2003 17:11
гы
серийник никак генеришь ?
заюзай Mime64 - каждые 5 бит кодируютца в 1 символ
итого тебе нужно будет 5 * 10 = 50 бит двоичных данных.
Автор: Kaylang
Дата сообщения: 17.07.2003 17:17
redp

Цитата:
Mime64

Шо це такое?


Цитата:
серийник никак генеришь

Нет, не угадал...
Автор: redp
Дата сообщения: 17.07.2003 17:20
2Kaylang
кхм, 21 век на дворе, у человека вроде Inet есть (ведь сюда небось не через астрал попал ?) - а поисковиками пользоватца не умеет

кодирование такое, бинарных данных в символьные строки
наверняка в D уже есть шо-нть для этого, не помню - я с D последний раз году этак в 99 работал

Добавлено
ай, совсем я старый стал
6 бит = 1 символ, вот
итого тебе нужно 6 * 10 = 60 бит
Автор: UncoNNecteD
Дата сообщения: 17.07.2003 17:28
Ну тогда просто
Делаешь например пару функций которые генерят ASCII коды символов.
Первую для генерации кодов цифр (от 48 до 57) вторую для символов (латиницы или чего пожелаешь, напрмер от 65 до 122 - это lat-alph A..Z..a..z);
Проверно так это будет -
function random_chislo():string;
begin
result:=chr(random(10)+48);
end; {это функция возвращающая символ-число};

А потом в цикле генеришь так -

for i:=1 to 10 do
if random(3)=1 then str:=str+random_chislo()
else str:=str+random_bukva();

Понятно?

Автор: Kaylang
Дата сообщения: 17.07.2003 17:31
UncoNNecteD
Спасибо!
Вроде понятно...
Завтра опробую. Если, что-то не дойдет, можно тебя в ПМ побеспокоить?
Автор: UncoNNecteD
Дата сообщения: 17.07.2003 17:48

Цитата:
Если, что-то не дойдет, можно тебя в ПМ побеспокоить?

нет проблем.
но думаю у тебя все получится
Автор: Kaylang
Дата сообщения: 18.07.2003 08:51
UncoNNecteD
Насколько я понял для генерации буквы надо добавить функцию:
function random_bukva():string;
begin
result:=chr(random(26)+65);
end;



Добавлено
Да и еще перед циклом for добавил Randomize;...

Добавлено
redp
Спасибо за участие!
Просто я искал самое простое и легкое решение... Лень, матушка, понимаешь-ли...
Автор: UncoNNecteD
Дата сообщения: 18.07.2003 10:02
Kaylang
Все верно. Хотя можно все прописать в for - цикл. Не такая уж сложная там конструкция.


Цитата:
Да и еще перед циклом for добавил Randomize;...

Ну! randomize я вообще вставляю перед Application.Initialize

Страницы: 1

Предыдущая тема: нетли у кого примера на delphi


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.