Для ведения транзакций с транзакциями мне нужно указать, предоставляют ли пользователи необходимые поля/информацию или нет. Если да, я заменю реальную информацию на *. Если нет, я сделаю этот запрос неудачным, возвращая значение «false».Как дезинфицировать/скрывать конфиденциальные данные в C#
Ниже приведены класс и метод определения данных.
public class CreditCard
{
public string brand { get; set; }
public string billingphone { get; set; }
}
class Program
{
static void Main(string[] args)
{
CreditCard creditcard =new CreditCard(){brand="VISA", billingphone="777-111-2222"};
bool IsVerified= SanitizePaymnetData(creditcard);
}
private bool SanitizePaymnetData(ref CreditCard creditcard)
{
bool isDataSanitized = true;
if(!String.IsNullOrEmpty(creditcard.brand))
{
creditcard.brand ="*";
}
else
{
isDataSanitized = false;
}
if (!String.IsNullOrEmpty(creditcard.billingphone))
{
creditcard.billing_phone = "*";
}
else
{
isDataSanitized = false;
}
return isDataSanitized;
}
}
Метод «SanitizePaymentData» выглядит как уродливый. Есть ли способ сделать его более чистым/аккуратным?
Ваш вопрос несколько стилистичен и основан на мнениях. Я думаю, что ваш подход в порядке. Есть ли какое-либо требование, чтобы иметь возможность выявлять скрытые данные? Если это так, вы можете рассмотреть возможность шифрования вывода. Если это не выглядит хорошо для меня – ne1410s
Почему бы просто не написать «true», если они проверены и «ложные», если они не являются? Должен ли журнал включать другие нечувствительные данные? – Jedediah
Привет @Jedediah, да, мне нужно регистрировать другие нечувствительные данные в каждом запросе, независимо от того, этот запрос является хорошим или плохим. – user3174976