RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Получить GUID в Rexx


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Aleksey Tarasow, 2:5053/57, librexx.ru azimut21.ru azimut64.ru
To : dixie
Subj : Получить GUID в Rexx

> > Самый простой перенес на Rexx. Это простой генератор случайных чисел, не думаю что этот алгоритм подойдет для генерации GUID для гос.органов. Анализирую остальные алгоритмы на этой странице.
> Там для рандома описан алгоритм...

Я ни как не найду понятного _мне_ алгоритма какие данные (точно используется дата, время, некий непонятный идентификатор компа, что-то ещё), в каком формате, откуда берем, как их состыкуем и как их преобразовываем.
Приведенное выше описание алгоритма скорее всего содержит нужную информацию, но вот я разобраться в этом тексте не смогу (не знаю английского и си).
"У вас есть такой же, но без крыльев? Нет. Будем искать..." (с)

> Наскока помню - как минимум, 4-ка в какой-то конкретной позиции должна _всегда_ стоять.

Есть такое, но как-то не всегда это так. В одних случаях 4 есть, в других нет. Для гос.органов она нужна.
Подправил функцию так:
===
s4:
return left(substr(d2x(((1+(random()/10))*d2x(10000))),2),4,0)

GUID:
return S4()S4()"-"S4()"-4"left(S4(),3)"-"S4()"-"S4()S4()S4()
===

Sat 12 Mar 2016 13:30 Mozilla/5.0 (Windows NT 6.3; WOW64; rv:44.0) Gecko/20100101




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.