每个用户有对应的积分,积分可当钱用,该用什么方案加密积分这个字段?(银行是怎么做的?) 积分就使用int类型就行了,多加一个字段存储 积分+保密值 的MD5这样就算被人在数据库中修改了,也能查到,不过 保密值 比较重要 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以自己设计加密函数,封装成dll。在插入数据之前先利用加密函数将积分加密,然后再入库,取出来的过程反之。这样可以保证系统管理员不能利用职务之便获得积分信息。但是,管理员如果对系统非常熟悉或者监管不严,还是可以获得dll自己实现加密解密功能的。 比如说数据库管理员就可以把自己的积分调成跟其它高级用户一样====那么,你说 某个银行保险库的密码 是否连金库管理员 都无法知道呢?这是一个防范“监守自盗”的问题,技术角度上无论如何都不可能完全做到,需要一定的行政规范,你不会随便将金库钥匙给任何人吧?从系统设计上看,对于涉及安全、保密的操作,每个操作都应该有相关的详细日志记录,何时何地何人做了什么样的操作,以及可重做策略如何设计这样可以某种成都上,对操作员的操作作出约束,当然,对于 HACK 级别的“闯入者”,他也有办法绕过你的监督机制,比如你用了触发器,他肯定想方设法的绕过取,因此,技术上能够解决安全性通常的对象是本系统之外或者非专业的人员的“异想天开”的“行为”作为,系统管理员/DBA,你赋予了他进入系统/数据库的权限,他当然有可能作出任何不守业务规则的行为,这似乎不是技术角度能够完全防范到的具体的实施方案,也不了解,找从事相关行业的朋友了解下吧, 跟据上面的讨论看来,我应该在如何生操作成日志的问题上下功夫了,这才是正确的方向。请问有没有具体化的方案,自己想的话难免会有疏漏,大家多提提方案。比如说kingwkb提到的保密值,应该是个不错的方案,但是保密值也有可能被改,最好还有其它补充措施。 保存数据库的操作日志就可以,默认情况下sqlserver是保存操作日志的,你可以在sqlserver的系统管理界面中查看日志。 一般这种东西都是,服务器SSL配置,然后给客户端颁发数字证书懂电子商务的人都知道,颁发证书,是比较有效的安全控制方式再者就是从管理上下工夫,跟技术无关 1.同意楼上 Jinglecat(晓风残月 >> 问题需简洁,错误要详细) 说的,你要防止监守自盗的话,应该在系统设计上做到对管理员的严格管理和跟踪,就如银行的职员出出入入都要刷卡都要log,什么时候钱被偷了,看看log那个时段谁进出过就知道了,这么明显的保安机制银行职员显然不会蠢到想要偷钱,至少想偷都想个更高明的办法吧。2.如果你真的想知道电子钞票是怎么做的,你最好自己去看信息安全有关的书籍和理论,有问题最好也到安全有关的板块问,因为那是很复杂的事情,当然它可以保证1元就是1元,没有密钥你无法凭空创造1元出来,同一个1元也无法复制或者重复消费。 #region 加密帐号静态方法 public static string Mask_MakePassword(string Password) { return (ToEncrypt(Password, 1)); } public static string Mask_GetPassword(string Password) { return (ToDecrypt(Password, 1)); } #endregion 加密帐号静态方法 #region 加密设置 private static string ToEncrypt(string StringSource, int IndexInKeys) { if (StringSource == null) return ""; UrlComm mc = new UrlComm(); return (mc.Encrypt(StringSource, IndexInKeys)); } private static string ToDecrypt(string StringSource, int IndexInKeys) { if (StringSource == null) return ""; UrlComm mc = new UrlComm(); return (mc.Decrypt(StringSource, IndexInKeys)); } #endregion 加密设置 WebBrowser.Navigate()问题 onclick向js传参问题 如何取session的值 页面数据量控制在多少合适? 用OleDb向Excel里插入数据时,会在每单元格数据前加一个单引号,怎样导入才能去掉这个单引号? 加个高级编辑筐怎么加?请各位帮忙! 给北大青鸟季久峰老师的一封信 讨论C#缓存问题,来者有分! 不懂网络,问个发布的问题 哪里有.net中文版MSDN下载?谢谢 求Farpoint spread Web for vs2005!!!!! 高分求教
但是,管理员如果对系统非常熟悉或者监管不严,还是可以获得dll自己实现加密解密功能的。
这是一个防范“监守自盗”的问题,技术角度上无论如何都不可能完全做到,需要一定的行政规范,你不会随便将金库钥匙给任何人吧?从系统设计上看,
对于涉及安全、保密的操作,每个操作都应该有相关的详细日志记录,何时何地何人做了什么样的操作,以及可重做策略如何设计
这样可以某种成都上,对操作员的操作作出约束,当然,对于 HACK 级别的“闯入者”,他也有办法绕过你的监督机制,比如你用了触发器,他肯定想方设法的绕过取,因此,技术上能够解决安全性通常的对象是本系统之外或者非专业的人员的“异想天开”的“行为”作为,系统管理员/DBA,你赋予了他进入系统/数据库的权限,他当然有可能作出任何不守业务规则的行为,这似乎不是技术角度能够完全防范到的具体的实施方案,也不了解,找从事相关行业的朋友了解下吧,
懂电子商务的人都知道,颁发证书,是比较有效的安全控制方式
再者就是从管理上下工夫,跟技术无关
public static string Mask_MakePassword(string Password)
{
return (ToEncrypt(Password, 1));
} public static string Mask_GetPassword(string Password)
{
return (ToDecrypt(Password, 1));
}
#endregion 加密帐号静态方法 #region 加密设置
private static string ToEncrypt(string StringSource, int IndexInKeys)
{
if (StringSource == null)
return "";
UrlComm mc = new UrlComm();
return (mc.Encrypt(StringSource, IndexInKeys));
} private static string ToDecrypt(string StringSource, int IndexInKeys)
{
if (StringSource == null)
return ""; UrlComm mc = new UrlComm();
return (mc.Decrypt(StringSource, IndexInKeys));
} #endregion 加密设置