目录
二维码支付系统 1
一. 产品设计思想 1
二. 采用的安全技术 1
三. 验证过程 2
四. 主要数据结构 3
1.用户类:用来存储用户信息 3
2.历史支付记录类:用来存储 3
五. 主要数据库表 4

  1. 用户表 4
  2. 支付历史记录表 5
    六. 主要代码解析 5
  3. 收款: 7
  4. 付款 7
  5. 余额查询 10
  6. 查询历史记录 10
    七. 测试数据和结果 11
    八. 心得体会 20
    九. 其他数据 22

一.产品设计思想
模拟基于加密的二维码实现电子交易的系统,实现交易的迅速便捷,可以在web浏览器和移动端同时使用。采用Google.zxing接口实现二维码的生成和解析,采用加密协议传送,产品类似webapp形式呈现。开发利用DAO的设计模式,由javabean的VO,预先设定各项操作的接口类,本文转载自http://www.biyezuopin.vip/onews.asp?id=15203真正实现操作的代理类和集成各项代理的工厂类,该设计模式使工程构造简明清晰,并且减少了耦合度。

二.采用的安全技术
1.采用Google的zxing二维码生成与读取接口对信息进行加密,可以将支付信息保存入二维码中。
2.采用MD5加密算法,获取用户标识的不可逆散列值。
3.使用时间戳,限制二维码使用周期。
4.传输过程中使用SSL加密传输,保证传输过程安全。

package com.payment.main;import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Hashtable;import javax.activation.ActivationDataFlavor;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.payment.factory.DAOFactory;
import com.payment.hash.md5;
import com.payment.vo.user;
import com.payment.main.MatrixToImageWriter;
import com.payment.main.MatrixToImageConfig;public class Gather extends HttpServlet{private static final long serialVersionUID = 1L;public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();String userid = request.getParameter("userid"); String money = request.getParameter("money"); System.out.println("useid:" + userid.replaceAll("\n|\r", ""));String hash_userid = new md5().hashCode(userid.replaceAll("\n|\r", "")).substring(0, 5);System.out.println("hash:" + hash_userid);System.out.println("money:" + money);//获取当前时间long t=System.currentTimeMillis()/(2*60*1000);//以十分钟为单位划分时间String tString = Long.toString(t);String text = hash_userid + tString;//二维码的内容text = text.replaceAll("\r|\n", "");int width = 400;int height = 400;String format = "png";Hashtable hints= new Hashtable();hints.put(EncodeHintType.CHARACTER_SET, "utf-8");BitMatrix bitMatrix = null;try {bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height,hints);} catch (WriterException e) {// TODO Auto-generated catch blocke.printStackTrace();}StringBuffer buf = new StringBuffer();buf.append("D:\\eclipse_x86_workspace\\payment3\\WebContent\\image\\to_");buf.append(userid);//buf.append("_");//buf.append(aDate.getTime()/(120*1000));buf.append(".png");String pathname = buf.toString();System.out.println(pathname);pathname = pathname.replaceAll("\r|\n", "");//去掉可能出现的回车和换行System.out.println("换行第一次出现的地方:"+pathname.indexOf("\n"));File outputFile = new File(pathname);MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile); String result = pathname.substring(45);System.out.println(result);out.println(result);System.out.println("It is ok!");}public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}
}















基于bootstrap的二维码支付系统webAPP设计相关推荐

  1. 基于Android的二维码识别系统的研究与实现(eclipse开发)

    目 录 1 Android系统开发背景与意义 1 1.1 Android系统平台的出现 1 1.2 Android系统的发展 1 1.3 Android系统架构的介绍 1 1.4 Android开放系 ...

  2. 交通一卡通二维码支付技术要求

    交通一卡通二维码支付技术要求 范围 本技术要求规定了交通一卡通二维码(以下简称"二维码")支付的应用场景.系统框架及流程.二维码数据结构.信息接口.安全要求.终端要求.手机客户端要 ...

  3. 交通方案 | 基于FET3399-C核心板打造公交二维码支付刷卡机

    随着微信和支付宝将二维码支付全民化,人们的消费习惯已大大改变,对于便捷消费的需求也越来越大.如今,用户可以只需持一款经过授权的支付软件或一张卡片,通过扫码或刷卡的方式,即可快速完成支付. 公交刷卡机作 ...

  4. 基于springboot的食品二维码溯源系统

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于springboot的食品二维码溯源系统. 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 21世纪是信息化时代,随着信息技 ...

  5. 基于主要成分分析的人脸二维码识别系统-含Matlab代码

    目录 一.引言 二.人脸图像信息处理 2.1 主成分分析PCA 2.2 PCA人脸压缩与重构算法分析 三.二维码转换以及识别 3.1 QR码 3.2 将人脸图像生成二维码 3.3 二维码的识别与图像还 ...

  6. 基于MATLAB的条码二维码识别系统

    基于MATLAB的条码二维码识别系统 课题介绍 本设计研究的是基于数字图像处理的EAN-13条形码识别算法,通过工具平台MATLAB实现.其中图像处理部分是条码识别重要的前期工作,利用MATLAB强大 ...

  7. 微信二维码支付快速入门

    目录 一.二维码生成插件qrious 二.HttpClient 三.微信扫码支付 1.申请步骤 2.开发文档 四.入门Demo 1.工程搭建 2.myStudy-pay-interface 3.myS ...

  8. 二维码支付的优势与劣势

    一.二维码支付概述 1.第三方移动支付定义 第三方移动支付是指交易双方通过手机.平扳电脑等移动终端,利用移动通信网络和无线通信技术,由独立于移动通讯运营商与银行以外的第三方支付平台支持的支付服务,完成 ...

  9. 二维码支付码的工作原理那点事

    二维码支付这些年发展的如火如荼,前两年在另外一个站上也大致分析过二维码支付的原理,年底摸摸鱼,重新整理一下吧. (说实话我很讨厌有的人借着学习的名义把博客上的文章抄来抄去) 1.数字支付码 数字支付码 ...

  10. 二维码防伪系统开发-实现了产品信息防伪的高效性

    一.系统介绍 二维码防伪采用二维码加密技术给产品做标识,将二维码印刷或标贴于产品包装上,用户只需通过指定的二维码防伪系统或手机软件进行解码检验,即可验证产品真伪,获得详尽的信息.二维码可储存丰富的产品 ...

最新文章

  1. Cordova入门系列(一)创建项目
  2. github中origin和upstream的区别(转)
  3. resizable 回调函数参数详解
  4. c语言程序前言,C语言 程序代码编写规范前言
  5. jQuery中live函数的替代-【jQuery】
  6. 文本删除空行_Word的空行、空格、页眉线删不了?8秒一次性处理,教你删掉它们...
  7. Win能ping通win7,但是无法访问共享的解决方法
  8. SurfaceFlinger 和 WindowManager
  9. [转]Android 超高仿微信图片选择器 图片该这么加载
  10. 03-【nginx】nginx源码分析--proxy模式下nginx的自动重定向auto_redirect
  11. ps批量修改名片文字_PS批量制作多项字幕条
  12. 向日葵远程控制连接服务器黑屏原因
  13. HTML简单的网页设计带超链接,HTML:让网页超链接拥有多姿多彩的下划线(1)-网页设计...
  14. Android攻城狮四大组件之Service
  15. 请描述定时器初值的计算方式_51波特率发生器定时器初值计算方法[转载]
  16. luogu P4735 最大异或和
  17. android修改重力感应方向
  18. 高并发系统设计:通用的设计方法及架构分层
  19. China Looks To The Sea For Water
  20. 汉语自动分词研究评述

热门文章

  1. Python数据解析笔记+实战
  2. 利用浏览器制作一款包含3D效果的演示文案
  3. Mybatis 大于小于符号解决
  4. python中reduce函数的作用_python中reduce()函数的使用方法示例
  5. qq飞车鸿蒙车队,qq飞车手游鸿蒙版
  6. 声声慢·寻寻觅觅 宋代:李清照
  7. Symbian OS v9.x SIS 文件格式说明书
  8. 网络设备自动巡检工具(五)——由自动巡检引发的遐想【2020-10-30】
  9. 人大与加拿大女王大学金融硕士在短学制中成就别样的人生
  10. PCM与DSD究竟是什么??