Как скрыть конфиденциальные данные с помощью xslt - PullRequest
0 голосов
/ 11 января 2020

У меня есть требование изменить конфиденциальные данные с помощью xslt перед вводом данных в базу данных

Например -

Если номер счета 12345678, тогда go для базы данных должно быть *** * 5678. Я должен внести эти изменения в xslt.

Поскольку я новичок в xslt, я не могу взломать это.

Не могли бы вы помочь мне с этим ??

1 Ответ

1 голос
/ 11 января 2020

Попробуйте что-то вроде:

<xsl:text>****</xsl:text>
<xsl:value-of select="substring(accountnumber, string-length(accountnumber) - 3)" />

Контекст не предоставлен, поэтому вам нужно будет самостоятельно внести необходимые корректировки.


Добавлено:

Но что делать, если номер моего счета не является фиксированным значением? Например - если номер счета 123456, тогда он должен go как **3456* 1010 *

. Я бы не хотел предоставлять потенциальному злоумышленнику информацию о длине маскируемой части. Но если вы готовы пойти на риск, вы можете использовать:

<xsl:variable name="len" select="string-length(accountnumber)" />
<xsl:value-of select="translate(substring(accountnumber, 1, $len - 4), '0123456789', '**********')" />
<xsl:value-of select="substring(accountnumber, $len - 3)" />
...