atitit.数据验证--db数据库数据验证约束
来源:互联网 发布:近视眼手术检查知乎 编辑:程序博客网 时间:2024/05/29 16:53
atitit.数据验证--db数据库数据验证约束
1.为了加强账户数据金额的安全性,需要增加验证字段。。1
2.创建帐户1
3.更改账户2
4.---code3
5.--fini4
1. 为了加强账户数据金额的安全性,需要增加验证字段。。
调用::
在创建,更改金额的时候,都要更改前验证。。。
更改金额的时候,还要严重数据库里面的数据准确性
更改时的加密数据从哪里来,直接从校验器来就是了。。
new SqlCheckor().getValideVal(new_money);
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 创建帐户
public void createAcc(String uname, double d) {
BigDecimal money=new BigDecimal(d);
String v_vali=new SqlCheckor().getValideVal(money);
String $sql = "insert into ecs_users( "+
" user_name,user_money,vali_val )values('@u@', "+String.valueOf(d)+"" +
",'$vali$' )";
$sql= $sql.replace("@u@", uname).replace("$vali$", v_vali);
System.out.println("---"+ $sql);
sqlCkSrv.valideValCheck4newRow(money, v_vali);
int r=dbx.execSql_retInt($sql);
System.out.println("----ret int:"+String.valueOf(r));
3. 更改账户
public int addAmount(String uid, BigDecimal i) {
iniAcc(uid);
String sql = strUtil.fmt( "select * from ecs_users where user_name='$uid$'",uid);
Map row=dbx.uniqueResult2row(sql);
if(row==null)
throw new CantFindAcc("uid="+uid);
BigDecimal now=(BigDecimal) row.get("user_money");
//SqlCheckor sqlCkSrv=
if(row.get("vali_val")!=null) //forcompati olddata novali
sqlCkSrv.valideValCheck4oldrow(row.get("user_money"),row.get("vali_val").toString() );
BigDecimal new_money=now.add(i);
String new_money_vali= new SqlCheckor().getValideVal(new_money);
new SqlCheckor().valideValCheck4newRow(new_money, new_money_vali);
//DataLogicSales
//TODO Auto-generated method stub
/* 更新用户信息 */
String sql2 = "UPDATE ecs_users "+
" SET user_money =$newMoney$,vali_val='$vali$'"+
" WHERE user_name = '"+uid+"' LIMIT 1";
String $sql = sql2.replace("$newMoney$", new_money.toString()).replace("$vali$",new_money_vali);
System.out.println("---"+ $sql);
int r=dbx.execSql_retInt($sql);
if(r!=1)
throw new AccEx(" acc ex ret is:"+String.valueOf(r) +" uid:"+uid);
System.out.println("----ret int:"+String.valueOf(r));
return r;
}
}
4. ---code
public void valideValCheck4oldrow( String sql,String col,String valide_col) {
//Map row=sqlSrv.executeQueryFirstRow(sql);
//String v=(String) row.get(col);
//String valid=(String) row.get(valide_col);
//if(! AesV2q421.encrypt(v, "ilovmole").equals(valid))
//
//throw new ValidValCheckEx("sql:"+sql);
}
public void valideValCheck4newRow(Object val,String valEncoded) {
if(! AesV2q421.encrypt(val.toString(), "ilovmole").equals(valEncoded))
throw new ValidValCheckEx("val.encode:"+val+"-"+valEncoded);
}
public String getValideVal(Object v)
{
return AesV2q421.encrypt(v.toString(), "ilovmole");
}
/**should str2dec compare..cant dec2strcomapre..cause todb and fromdb ,thennum point maybechangte...but trueval is not change..
attilax 2016年4月25日 下午10:24:55
*@param object
*@param object2
*/
public void valideValCheck4oldrow(Object val, String valEncoded) {
//8CBAC0UjkdSjLBFwKNB2iA==
BigDecimal money=new BigDecimal( AesV2q421.decrypt(valEncoded, "ilovmole"));
if(money.compareTo( (BigDecimal) val)!=0)
throw new ValidValCheckEx("val.encode:"+val+"-"+valEncoded);
5. --fini
}
- atitit.数据验证--db数据库数据验证约束
- 数据验证
- 数据验证
- 数据验证
- 数据验证
- 数据验证
- 数据验证
- 数据验证
- 在SQL Server中使用检查约束来验证数据
- Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa
- 数据库优化--局部数据迁移结果验证
- 基于Cache数据库的数据重复验证
- spring数据验证----验证类
- 数据库数据约束
- JQuery validate 验证数据是否与数据库中数据重复
- 数据验证,数据转换器,国际化
- 使用javascript验证数据
- 常用javascript数据验证
- 关于CKEditor4.5.6的使用,自定义toolbar配置,上传图片案例(SpringMVC+MyBatis案例),自定义行高,去编辑器的中内容,将编辑器中内容设置到指定的位置等
- 博弈论小结
- linux内存源码分析 - 内存压缩(同步关系)
- Atitit .h5文件上传 v3
- Android应用程序签名相关的理论知识,包括:什么是签名、为什么要给应用程序签名、如何给应用程序签名
- atitit.数据验证--db数据库数据验证约束
- 动态规划:从新手到专家(一)
- logistic regression 以及梯度下降
- 第二届北京林业大学“计蒜客”杯程序设计竞赛 Problem B - 大钉骑马走江湖
- c++多态之抽象类编程
- 根据入栈顺序判断出栈顺序是否合法
- ios开发之升级到Xcode7之后插件无法使用与不小心点击Skipbundle的解决办法
- 设计模式学习笔记之装饰者模式
- Manacher算法