19 lines
605 B
Mathematica
19 lines
605 B
Mathematica
|
XUSHSH ;;GpZ; - ; IMPROVED HASHING UTILITY: GT.M Version (VWHSHGTM); 01/08/2010
|
||
|
V ;;8.0;KERNEL;;Jul 10, 1995
|
||
|
;;
|
||
|
A S X=$$EN(X) Q
|
||
|
;;
|
||
|
EN(X,HASH) ;;
|
||
|
N (X,HASH)
|
||
|
D:'$L($G(^%ZOSF("HASHLIST"))) DEFHASH^VWHSH0
|
||
|
S HASHLIST=^%ZOSF("HASHLIST")
|
||
|
S HASH=$S('$L($G(HASH)):$P(HASHLIST,"|",1),1:$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
|
||
|
IF HASH="LEGACY" QUIT $$EN^VWHSHLEG(X)
|
||
|
Q:HASHLIST'[(" "_HASH_" ") X
|
||
|
S SED="sed -e 's/$/\r/'|"
|
||
|
OPEN "PIPE":(COMM=SED_"gpg --print-md "_HASH)::"PIPE"
|
||
|
USE "PIPE" W X,! W /EOF
|
||
|
F R X Q:$ZEOF S HASHOUT=$G(HASHOUT)_X
|
||
|
CLOSE "PIPE"
|
||
|
Q $TR(HASHOUT," ")
|