| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Функция на PLSQL |
| Автор: dartx 6.4.2006, 11:40 |
| по правилу: - случайная согласная буква латинская маленькая - случайная гласная буква латинская маленькая - случайная цифра - с 50% вероятностью: - или случайная цирфа - или случайные согласная+гласная буква - случайная цирфа - случайные согласная+гласная буква Как можно реализовать? |
| Автор: jsa 7.4.2006, 08:35 |
| не совсем понял задачу, нужно генератор паролей сделать? |
| Автор: dartx 7.4.2006, 09:08 | ||
Ну да, именно это. |
| Автор: LSD 7.4.2006, 10:22 | ||||
Самый простой способ написать ее на Java, что-то типа:
|
| Автор: dartx 7.4.2006, 17:41 |
| В том-то и дело, что проще на джава, а надо на PL/SQL, абыдна однако Я в PL/SQL как-то не очень. |
| Автор: LSD 7.4.2006, 22:47 |
| Почему?! Oracle, начиная с версии 8i, спокойно поддерживает Java, без всяких дополнительных ухищрений. Зачем создавать себе трудности, а затем их с честью преодолевать? |
| Автор: dartx 8.4.2006, 13:18 | ||
| Ну дело в том что почти вся бизнес логика реализована на PL/SQL, и почти вся работа связанна с ним. Со своим уставом в чужой монастырь не пойдешь ведь? Ну я пока разобрался со рандомом и делаю примерно так:
Теперь надо разобраться со строками в PL/SQL: Самое неприятное, что пароль должен генирироваться по правилам. То есть есть мысль создать три массива символов: с полным набором символов(гласные, согласные, цифры), только гласные, только согласные, цифры. Потом случайно выбрать из полного набора, затем анализируя выбранный символ, ставить либо из гласных, либо из согласных, либо из цифр. |
| Автор: LSD 8.4.2006, 14:24 | ||
Можно получить с помощью ASCII получить диапазон кодов символов, затем генерируем число из диапазона и с помощью CHR делаем из него строку:
|
| Автор: dartx 8.4.2006, 18:20 |
| Да но ведь тогда будет генирится пароль просо из случайных чисел, а надо по правилу, например: acedeh или merotj, ну и так далее, чтобы были легко запоминаюшимися. |
| Автор: LSD 9.4.2006, 15:14 |
Это только набросок. Я просто показал как сгенерировать букву из заданного множества. А дальше уже генерируешь пароль по своим правилам:
|
| Автор: dartx 9.4.2006, 18:21 |
| Спасибо за помощь! |