XUSHSH ;;GpZ; - ; IMPROVED HASHING UTILITY: for Cache/Linux (VWHSHCLX); 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/'|"
 N PIPE,ZUT,I
 S ZUT=$ZUTIL(68,40,1)  ;; MSM-style End-of-File Handling
 S PIPE=" echo "_X_"||"_SED_$P(HASHLIST,"||",3)_"gpg --print-md "_HASH
 OPEN PIPE:"Q"
 F I=1:1:4 USE PIPE R X Q:$ZEOF<0  S HASHOUT=$G(HASHOUT)_X
 CLOSE PIPE
 S ZUT=$ZUTIL(68,40,ZUT),X=HASHOUT
 Q $TR(X," ")
