Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VAQHSH1

VAQHSH1.m

Go to the documentation of this file.
  1. VAQHSH1 ;ALB/JRP - ENCRYPT/DECRYPT ROUTINES;29-MAR-93
  1. ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
  1. KRNLHASH(STRING,KEY1,KEY2,DCRYPT) ;ENCRYPT/DECRYPT USING KERNEL HASHING
  1. ;INPUT : STRING - String to encrypt/decrypt
  1. ; KEY1 - Primary key for encryption/decryption (numeric)
  1. ; (defaults to the current value in DUZ)
  1. ; KEY2 - Secondary key for encryption/decryption (numeric)
  1. ; (defaults to 0)
  1. ; DCRYPT - Flag indicating whether to encrypt or decrypt
  1. ; If 0, encrypt STRING (default)
  1. ; If 1, decrypt STRING
  1. ;OUTPUT : S - STRING encrypted/decrypted using KERNEL hashing
  1. ; Null - Encryption/decryption not possible
  1. ;
  1. ;CHECK INPUT
  1. Q:('$D(STRING)) ""
  1. S:('$D(KEY1)) KEY1=+$G(DUZ)
  1. S:(KEY1'?1.N) KEY1=+$G(DUZ)
  1. S KEY2=+$G(KEY2)
  1. S DCRYPT=+$G(DCRYPT)
  1. ;DECLARE VARIABLES
  1. N X,X1,X2
  1. S X=STRING
  1. S X1=KEY1
  1. S X2=KEY2
  1. ;ENCRYPT
  1. I ('DCRYPT) D EN^XUSHSHP Q X
  1. ;DECRYPT
  1. D DE^XUSHSHP
  1. Q X