【问题标题】:Data Masking in asp.netasp.net 中的数据屏蔽
【发布时间】:2015-04-01 07:56:27
【问题描述】:

我想在 ASP.net 控件中以123**********1232 格式显示机密数据,例如银行帐号、手机号码。就像 022-23232-2322 将是 022*********2322 并且在更新时它应该保存输入的实际数据。

在 ASP.net 中如何实现?

【问题讨论】:

  • 所以这个表单是用来更新银行账号或者手机号码的,你想在用户输入的时候屏蔽掉?
  • 只有授权用户才能在更新时取消屏蔽它。对于所有其他用户,它将被屏蔽。

标签: asp.net vb.net data-masking


【解决方案1】:

如果您只想为无法更新评论的用户屏蔽它,这很简单:

Dim number = "022-23232-2322" 
Dim token = number.split("-"c)
Dim masked = String.Format("{0}{1}{2}", token(0), New String("*"c, 9), token.last())

结果符合要求:022*********2322

当然,您必须在服务器端存储实数或在需要时从数据库中加载它。您永远不需要揭开它的面纱。如果授权用户想要更新它,您将获得新值而您不需要旧值。如果需要,请从数据源重新加载。

【讨论】:

  • 感谢@Tim。你是对的,最好在需要时从数据库中加载它。但是如果我在会话中保存实数怎么办。这是一个好方法吗?
  • @Abdul:你可以这样做,它本身并不安全,但你为什么需要它?通常你只需要通过UserID(例如Guid或类似的东西)来识别用户。如果需要,您可以获取具有该 ID 的后台帐号。如果你只是想更新它,你只需要那个 ID + 新号码。
  • 是的,但我需要在我的应用程序的几个位置使用它。感谢@Tim 的帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
相关资源
最近更新 更多