Ana içeriğe geç

Masked Data Transmission in DB2-API Web Service Response

Groovy Script

import groovy.json.JsonOutput

def parser = new groovy.json.JsonSlurper()
def jsonResp = parser.parseText(responseBodyTextToClient)

static String mask(String input, int exceptFirst, int exceptLast) {
String regex="(?<=.{" + exceptFirst + "}).(?=.{"+ exceptLast + "})"
return input.replaceAll(regex, "*")
}

for(Object data in jsonResp.data) {
data.ADI = mask(data.ADI, 1, 2)
data.SOYADI = mask(data.SOYADI, 1, 2)
data.NUMARA = mask(data.NUMARA, 1, 2)
}

responseBodyTextToClient=JsonOutput.prettyPrint(JsonOutput.toJson(jsonResp))

Explanation

This script:

  1. JSON Parse Operation: Parses the incoming response (responseBodyTextToClient) in JSON format.
  2. Mask Function: Masks the middle characters with * while preserving the first and last characters of the given string.
  3. Data Processing: Loops through the data array in JSON and masks the ADI, SOYADI, and NUMARA fields of each element.
  4. Result: Converts the processed JSON back to string format and returns it as a response.

This approach ensures that sensitive data is transmitted securely.

not

This script should be run on the response line (Response Policy) because it uses the responseBodyTextToClient variable.