REXX例程将返回唯一的字符串

hot*_*der 0 mainframe rexx

我想定义一个函数,每次调用它时都返回一个唯一的字符串.在接下来的50年中,此函数的返回值必须是唯一的.这是我累了:

k.rand=USERID()
do i=1 to 10 by 1
 n=RANDOM(1,26)
k.i=word('a b c d e f g h I j k l m n o p q r s t u v w x y z ',n)
m.i= WORD('@ ! # $ % ^ * 1 2 3 4 5 6 7 8 9',i)
k.rand=k.rand ||k.i ||m.I
END
say k.rand
Run Code Online (Sandbox Code Playgroud)

Hog*_*rom 7

Rexx中没有内置的UUID功能. 沃尔玛实验室拥有开源的基于z/OS的服务,可生成UUID,直到34,000年为止:)

zUID是z/OS环境中的云服务,它使用专门的正在申请专利的算法生成唯一标识符.保证在34,000年之前生成100%唯一标识符,而无需管理数据库系统.

Service以纯文本格式以3种不同的十六进制格式(plain,guid和ess)返回UID.它们不包含在XML或JSON结构中.

plain:32字节,1234567890abcdef1234567890abcdef
ess:34字节,12345678-90abcdef12345678-90abcdef
guid:36字节,12345678-90ab-cdef-1234-567890abcdef

此服务无需授权.

除了启用Web之外,您还可以使用COBOL程序中的CICS LINK命令直接调用此例程.HTTP接口旨在使更多的消费者可以在z/OS环境中使用它.