#define EncKey "megameubelgeheim" // http:// -domain- /VHISIE/TBX/DTestURL.csp?Taal=N&REF=ukcfmaF7LFiqpsawRaZiuA-- // Oproepen via: Do ATKUpdateCSPKey^cspBasis.TBX.Lib ATKUpdateCSPKey Q ; PV 19/11/2007 niet meer nodig ; Moet laten lopen om TANDEMBOX toe te laten Set UserWW="" Set D="\" Set KLId=0 For Set KLId=$O(^KKL(KLId)) Quit:(KLId="") Do . Set Rec=^KKL(KLId,3) . Set KLNr=$P(^KKL(KLId,0),D) . Quit:'KLNr . Set CSPKey=$$CreateHashedRef($LB(KLNr,,,"START")) ; Previous version, with Access.csp : use $LB(KLNr) . If CSPKey["\" Do .. Do SendMiniMail^vhLib("administrator@vanhoecke.be",$LB("WV@VANHOECKE.BE","PV@VANHOECKE.BE"),"ERROR : CSPKEY generatie bevat '\'","Dit voor user "_UserWW_" en klant "_KLNr_$C(13,10)_"Routine ATKUpdateCSPKey^"_$zn,0) .. Set CSPKey="" ; Wissen foutieve key . Set $P(Rec,"\",7)=CSPKey . ;Write KLId,Rec,! . Set ^KKL(KLId,3)=Rec . Set ^DKL("K","KL.A",KLNr,3)=Rec . Write KLId,":",^KKL(KLId,3),! Quit // Oproepen via: w $$CreateHashedRef^cspBasis.TBX.Lib($LB(4682)) CreateHashedRef(lbRefArgs,EncKey) ; lbRefArgs=$LB(KLNr,VERW,wsID,Mode) New RefArray,Ref,encRef Set RefArray("KLNR")=$LG(lbRefArgs,1,"") Set RefArray("VERW")=$LG(lbRefArgs,2,"VHEPN") Set RefArray("WSID")=$LG(lbRefArgs,3,"") Set RefArray("MODE")=$LG(lbRefArgs,4,"A") Set Ref=$$ophArrayToRef(.RefArray) Set encRef=$$ophEncryptRefHashed(Ref,.EncKey) Quit encRef ophDecryptHashedRef(Ref,key) New DRef Set key=$G(key,$$$EncKey) Set DRef=$$ophDecryptVal($TR(Ref,"_-","+="),key) Quit DRef ophEncryptRefHashed(Ref,key) New encRef Set key=$G(key,$$$EncKey) Set encRef=$TR($$ophEncryptVal(Ref,key),"+=","_-") Quit encRef ophDecryptVal(Val,key) Quit:($G(key)="") Val New DRef Set DRef=$system.Encryption.AESDecode($system.Encryption.Base64Decode(Val),key) Quit $ZStrip(DRef,">C") ophEncryptVal(Val,key) Quit:($G(key)="") Val Quit $system.Encryption.Base64Encode($system.Encryption.AESEncode(Val,key)) ophRefToArray(Ref,RefArray) Kill RefArray Quit:(Ref="") Set:($L($P(Ref,"\",1))) RefArray("VERW")=$P(Ref,"\",1) Set:($L($P(Ref,"\",2))) RefArray("KLNR")=$P(Ref,"\",2) Set:($L($P(Ref,"\",3))) RefArray("WSID")=$P(Ref,"\",3) Set:($L($P(Ref,"\",4))) RefArray("MODE")=$P(Ref,"\",4) Set:(RefArray("MODE")="") RefArray("MODE")="A" Quit ophArrayToRef(RefArray) New Ref Set Ref="" Set $P(Ref,"\",1)=$G(RefArray("VERW")) Set $P(Ref,"\",2)=$G(RefArray("KLNR")) Set $P(Ref,"\",3)=$G(RefArray("WSID")) Set $P(Ref,"\",4)=$G(RefArray("MODE"),"A") Quit Ref