对象中有某些字段需要处理的思考:例如,要对一个类中的银行账号进行加密保存, 前六后四的保存。
来源:互联网 发布:工信部域名备案查询 编辑:程序博客网 时间:2024/06/05 12:07
这些: 一旦加密保存之后, 在展示层(controller)只要有方法需要获取字段的时候, 就要解密。 或者是在插入数据时要加密处理很麻烦, 这个时候我们可以在业层(service)对这个字段进行处理加密 解密, 就很方便了。而不用再每次业务需求时进行加解密。
例如:
这个是在Controller中对密码进行加密。 然后我们把这个加密移到service层。
@Autowiredprivate CFSHostSecurityModuleService cfsSecurityService;public void save(ReconBankOrderHandleDto dto) {reconBankOrderHandleDao.save(encryptMessage(ReconBankOrderHandleUtil.toEo(dto)));}public void update(ReconBankOrderHandleDto dto) {reconBankOrderHandleDao.update(encryptMessage(ReconBankOrderHandleUtil.toEo(dto)));}public List<ReconBankOrderHandleDto> query(ReconBankOrderHandleForQuery query) {if (query == null || query.getPage() == null) {return ReconBankOrderHandleUtil.toDtos(decryptMessages(reconBankOrderHandleDao.query(query)));}query.getPage().setTotalRecords(reconBankOrderHandleDao.count(query));return ReconBankOrderHandleUtil.toDtos(decryptMessages(reconBankOrderHandleDao.query(query,new RowBounds(query.getPage().getPageCurrent(), query.getPage().getPageSize()))));}@Overridepublic List<ReconBankOrderHandleDto> querySumBankOrderForFunds(ReconBankOrderHandleForQuery query) { return ReconBankOrderHandleUtil.toDtos(decryptMessages(reconBankOrderHandleDao.querySumBankOrderForFunds(query))); }/** * 加密卡号 * 出账银行号 * @param ReconBankOrderHandleEo * @return */private ReconBankOrderHandleEo encryptMessage(ReconBankOrderHandleEo reconBankOrderHandleEo){String bankAcctId = cfsSecurityService.encryptMessage(reconBankOrderHandleEo.getBankAcctId());String accountBank=cfsSecurityService.encryptMessage(reconBankOrderHandleEo.getAccountBank());reconBankOrderHandleEo.setBankAcctId(bankAcctId);reconBankOrderHandleEo.setAccountBank(accountBank);return reconBankOrderHandleEo;}/** * 加密卡号和出账银行号 LiST * @param list * @return */private List<ReconBankOrderHandleEo> encryptMessages(List<ReconBankOrderHandleEo> list){for (ReconBankOrderHandleEo eo : list) {String bankAcctId = cfsSecurityService.encryptMessage(eo.getBankAcctId());String accountBank=cfsSecurityService.encryptMessage(eo.getAccountBank());eo.setBankAcctId(bankAcctId);eo.setAccountBank(accountBank);}return list;}/** * 解密卡号和出账银行号 LiST * @param list * @return */private List<ReconBankOrderHandleEo> decryptMessages(List<ReconBankOrderHandleEo> list){for (ReconBankOrderHandleEo eo : list) {String bankAcctId = cfsSecurityService.decryptMessage(eo.getBankAcctId());String accountBank=cfsSecurityService.decryptMessage(eo.getAccountBank());eo.setBankAcctId(bankAcctId);eo.setAccountBank(accountBank);}return list;}}
0 0
- 对象中有某些字段需要处理的思考:例如,要对一个类中的银行账号进行加密保存, 前六后四的保存。
- 处理Blob类型数据,例如将对象保存到blob字段中
- SSH框架数据库连接信息和保存进数据库的某些特殊字段加密(jasypt)
- Java对数据库的字符串字段进行压缩保存
- Android中使用sharedPreferences对登陆页面中的账号密码进行保存
- 对某些字段(字段名里面一些字符随着月份儿改变的)进行处理
- j2me中对颜色进行汇总的一个类,如果有朋友需要可以拿来用。
- 对上传的图片进行裁剪处理后保存
- 在jpa的JpaRepository需要对符合主键@EmbeddedId 中的一个字段进行查询的用法
- COCOS2DX中对CCUserDefault保存的数据加密
- COCOS2DX中对CCUserDefault保存的数据加密
- Python-保存MD5加密随机产生的账号密码
- (需要进行整理)保存的书签
- 从一个list中 按某字段进行分组保存
- UE4下的某些保密字段的加密处理
- 保存bean时,对bean中的外键对象需要判断fkbean的fkid是否为空
- Java对数据库的字符串字段进行压缩保存的尝试
- 判断一个DW中是否有未保存的数据
- 什么是面向对象编程思想?
- 将项目Demo上传到Github上的操作步骤
- epoll 使用详解
- angualrJS 的坑们(1)
- STL-Map
- 对象中有某些字段需要处理的思考:例如,要对一个类中的银行账号进行加密保存, 前六后四的保存。
- hhh
- Bacula的web界面,bacula-web,bacula-gui
- win10/linux下eclipse配置python及安装anaconda
- CSplitterWnd 控件的特性
- hdu 2167方格取数
- DetachedCriteria多条件查询or,disjunction
- Java数据库编程
- ORA-12547: TNS:lost contact