#include PRGACNTs #include vhLib.Macro #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)) // niet meer gebruiken voor vhisie4, gebruik ##class(vhPowerTools.APPS.EC.KlantSessieDataGeneratorTbx).%New().GenereerRef(webshopverwerker,"START") 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") If $LL(lbRefArgs) = 5 { Set RefArray("OfferteID")=$LG(lbRefArgs,5) } Set Ref=$$ophArrayToRef(.RefArray) Set encRef=$$ophEncryptRefHashed(Ref,.EncKey) Quit encRef DecryptRef(Ref,RefArray) New DecryptedRef #dim DecryptedRef As %String = $$DecryptHashedRef^cspBasis.TBX.Lib(Ref) If $L(DecryptedRef) { If $$$Not(DecryptedRef [ "\") { Do ##class(TECH.Exceptions.InvalidInputException).Throw("Decrypteer van de Ref '"_Ref_"' geeft geen geldige data (decrypted='"_$$$LCVT(DecryptedRef)_"'") } Do ophRefToArray^cspBasis.TBX.Lib(DecryptedRef,.RefArray) } DecryptHashedRef(Ref) Quit:(Ref="") "" Quit $$ophDecryptHashedRef(Ref) 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,DecodedVal #dim DecodedVal As %String = $system.Encryption.Base64Decode(Val) Set DRef=$system.Encryption.AESDecode(DecodedVal,key) Quit $ZStrip(DRef,">C") ophEncryptVal(Val,key) Quit:($G(key)="") Val Quit $TR($system.Encryption.Base64Encode($system.Encryption.AESEncode(Val,key)),$C(13,10),"") 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:($L($P(Ref,"\",5))) RefArray("OfferteID")=$P(Ref,"\",5) Set:($G(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") Set $P(Ref,"\",5)=$G(RefArray("OfferteID")) Quit Ref DecryptDataOpt(EncryptedDataOpt,DataOptArray,sDomVERW) ; DataOptArray als .local doorgeven New EncryptionKey,DecryptedDataOpt,Data #dim EncryptionKey As %String = $$GeefDataOptKeyVoorDomein(sDomVERW) #dim DecryptedDataOpt As %String = $$ophDecryptHashedRef(EncryptedDataOpt,EncryptionKey) Do ##class(vhLib.Logger).%New("VHISIE").Debug( "DecryptDataOpt", "'" _ DecryptedDataOpt _ "' <= '" _ EncryptedDataOpt _ "' domein:'" _ sDomVERW _ "'.") If $L(DecryptedDataOpt) { if $length(DecryptedDataOpt,"\") < 2 { do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Invalid Decryption (DataOpt - "_sDomVERW_"). EncryptionKey '"_EncryptionKey_"', zag er gedecrypteerd zo uit:'"_DecryptedDataOpt_"'.")) } Do ddoDataOptToArray^cspBasis.TBX.Lib(DecryptedDataOpt,.DataOptArray) } Quit ddoDataOptToArray(DecryptedDataOpt,DataOptArray) #define SepData "\" #define DataPc(%i) $P(DecryptedDataOpt,$$$SepData,%i) Kill DataOptArray Quit:(DecryptedDataOpt="") Set DataOptArray("Taal")= $$$DataPc(1) Set DataOptArray("KLNummer")=$$$DataPc(2) Set DataOptArray("KLNaam")=$$$DataPc(3) Set DataOptArray("EMail")=$$$DataPc(4) Set DataOptArray("Korting")=$$$DataPc(5) Set DataOptArray("GebruikerID")=$$$DataPc(6) Set DataOptArray("Modus")=$$$DataPc(7) Quit EncryptDataOpt(DataOpt,sDomVERW) New EncryptionKey,EncryptedDataOpt Quit:($G(DataOpt)="") "" #dim EncryptionKey As %String = $$GeefDataOptKeyVoorDomein(sDomVERW) Set EncryptedDataOpt=$$ophEncryptRefHashed(DataOpt,.EncryptionKey) Quit EncryptedDataOpt GeefDataOptKeyVoorDomein(DomeinVerwerker) Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).Hein() $$$HeinKey Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).OptimaPack() $$$OptimaKey Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).SFS() $$$SfsOptKey Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).MeubelBeslagHolland() $$$MBHollandOptKey Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).HaefeleBelgie() $$$HafeleBEOptKey Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).HaefeleNederland() $$$HafeleNLOptKey Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).Kisch() $$$KischOptKey Quit:DomeinVerwerker=##class(cspBasis.TBX.enu.Verwerker).VanRaemdonck() $$$VanRaemdonckOptKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Daro() $$$DaroOptKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Galimberti() $$$GalimbertiOptKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Pavanello() $$$PavanelloOptKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Ferexpert() $$$FerexpertOptKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Beslagteknikk() $$$BeslagteknikkOptKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).JBarth() $$$JBarthKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).BiemarBois() $$$BiemarBoisKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).CampeTonny() $$$CampeTonnyKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Rini() $$$RiniKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Furnifit() $$$FurnifitKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).YachtSupplier() $$$YachtSupplierKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).DSGroup() $$$DSGroupKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).DeBisschop() $$$DeBisschopKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).DeceuninckDeforce() $$$DeceuninckDeforceKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Pierard() $$$PierardKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).HaefeleDuitsland() $$$HafeleDEKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Kleiner() $$$KleinerKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).Layer() $$$LayerKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).HahleOy() $$$HahleOyKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).HaefeleZweden() $$$HafeleSEKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).HaefeleFinland() $$$HafeleFIKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).HaefeleItalie() $$$HafeleITKey Quit:DomeinVerwerker=##class(APPS.EC.enu.WebShopVerwerker).HaefeleOostenrijk() $$$HafeleATKey Quit "DummyKey"