java手机验证码注册
❶ java web 发送验证码到手机功能怎么实现
你不去找经销商申请接口有代码也没用
❷ java注册 发过来的手机验证码怎么获得
假如注册的电话是 13000000000
用户点击注册后,后台生成一个6位的随机数,保存到数据库,并且将该版验证码,调用短权信接口,发送给该手机号!接下来用户填写收到的验证码,并且进行验证(匹配数据库存的验证码,以及该验证码是否失效)!
❸ 手机短信验证码java接口怎么写
这个首先你要确定一下短信平台,他们会给你提供短信实现的接口文档。
比如:
public static String doPost(String reqUrl, Map parameters, String recvEncoding)
{
HttpURLConnection url_con = null;
String responseContent = null;
try
{
StringBuffer params = new StringBuffer();
Iterator iter = parameters.entrySet().iterator();
while (iter
.hasNext())
{
Map.Entry element = (Map.Entry)iter.next();
params.append(element.getKey().toString());
params.append("=");
params.append(URLEncoder.encode(element.getValue().toString(),
requestEncoding));
params.append("&");
}
if (params.length() > 0)
{
params = params.deleteCharAt(params.length() - 1);
}
URL url = new URL(reqUrl);
url_con = (HttpURLConnection)url.openConnection();
url_con.setRequestMethod("POST");
System.setProperty("sun.net.client.defaultConnectTimeout",
String.valueOf(connectTimeOut));
System.setProperty("sun.net.client.defaultReadTimeout",
String.valueOf(readTimeOut));
url_con.setDoOutput(true);
byte[] b = params.toString().getBytes();
url_con.getOutputStream().write(b, 0, b.length);
url_con.getOutputStream().flush();
url_con.getOutputStream().close();
InputStream in = url_con.getInputStream();
BufferedReader rd = new BufferedReader(
new InputStreamReader(in,
recvEncoding));
String tempLine = rd.readLine();
StringBuffer tempStr = new StringBuffer();
String crlf = System.getProperty("line.separator");
while (tempLine != null)
{
tempStr.append(tempLine);
tempStr.append(crlf);
tempLine = rd.readLine();
}
responseContent = tempStr.toString();
rd.close();
in.close();
}
catch (IOException localIOException)
{
}
finally
{
if (url_con != null)
{
url_con.disconnect();
}
}
return responseContent;
}
public static String sendTelCode(String mobile,String telcode){
Map<String ,String> map = new HashMap<String ,String>();
map.put("account", "Babo");
map.put("mobile", mobile);
map.put("pswd", "D3dddD");
try {
map.put("msg", java.net.URLEncoder.encode("您的验证码是"+telcode+",若非本人操作请忽略","utf-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String getValue = doPost("http://www.ibabo.cn:7788/msg/HttpSendSM", map, "UTF-8");
System.out.println(getValue);
return getValue;
}
❹ Java如何实现验证码验证功能
Java如何实现验证码验证功能呢?日常生活中,验证码随处可见,他可以在一定程度上保护账号安全,那么他是怎么实现的呢?
Java实现验证码验证功能其实非常简单:用到了一个Graphics类在画板上绘制字母,随机选取一定数量的字母随机生成,然后在画板上随机生成几条干扰线。
首先,写一个验证码生成帮助类,用来绘制随机字母:
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.Graphics;
importjava.awt.image.BufferedImage;
importjava.io.IOException;
importjava.io.OutputStream;
importjava.util.Random;
importjavax.imageio.ImageIO;
publicfinalclassGraphicHelper{
/**
*以字符串形式返回生成的验证码,同时输出一个图片
*
*@paramwidth
*图片的宽度
*@paramheight
*图片的高度
*@paramimgType
*图片的类型
*@paramoutput
*图片的输出流(图片将输出到这个流中)
*@return返回所生成的验证码(字符串)
*/
publicstaticStringcreate(finalintwidth,finalintheight,finalStringimgType,OutputStreamoutput){
StringBuffersb=newStringBuffer();
Randomrandom=newRandom();
BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphicsgraphic=image.getGraphics();
graphic.setColor(Color.getColor("F8F8F8"));
graphic.fillRect(0,0,width,height);
Color[]colors=newColor[]{Color.BLUE,Color.GRAY,Color.GREEN,Color.RED,Color.BLACK,Color.ORANGE,
Color.CYAN};
//在"画板"上生成干扰线条(50是线条个数)
for(inti=0;i<50;i++){
graphic.setColor(colors[random.nextInt(colors.length)]);
finalintx=random.nextInt(width);
finalinty=random.nextInt(height);
finalintw=random.nextInt(20);
finalinth=random.nextInt(20);
finalintsignA=random.nextBoolean()?1:-1;
finalintsignB=random.nextBoolean()?1:-1;
graphic.drawLine(x,y,x+w*signA,y+h*signB);
}
//在"画板"上绘制字母
graphic.setFont(newFont("ComicSansMS",Font.BOLD,30));
for(inti=0;i<6;i++){
finalinttemp=random.nextInt(26)+97;
Strings=String.valueOf((char)temp);
sb.append(s);
graphic.setColor(colors[random.nextInt(colors.length)]);
graphic.drawString(s,i*(width/6),height-(height/3));
}
graphic.dispose();
try{
ImageIO.write(image,imgType,output);
}catch(IOExceptione){
e.printStackTrace();
}
returnsb.toString();
}
}
接着,创建一个servlet,用来固定图片大小,以及处理验证码的使用场景,以及捕获页面生成的验证码(捕获到的二维码与用户输入的验证码一致才能通过)。
importjava.io.OutputStream;
importjavax.servlet.ServletException;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
@WebServlet(urlPatterns="/verify/regist.do")
{
=3398560501558431737L;
@Override
protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//获得当前请求对应的会话对象
HttpSessionsession=request.getSession();
//从请求中获得URI(统一资源标识符)
Stringuri=request.getRequestURI();
System.out.println("hello:"+uri);
finalintwidth=180;//图片宽度
finalintheight=40;//图片高度
finalStringimgType="jpeg";//指定图片格式(不是指MIME类型)
finalOutputStreamoutput=response.getOutputStream();//获得可以向客户端返回图片的输出流
//(字节流)
//创建验证码图片并返回图片上的字符串
Stringcode=GraphicHelper.create(width,height,imgType,output);
System.out.println("验证码内容:"+code);
//建立uri和相应的验证码的关联(存储到当前会话对象的属性中)
session.setAttribute(uri,code);
System.out.println(session.getAttribute(uri));
}
}
接着写一个html注册页面用来检验一下:
<html>
<head>
<metacharset="UTF-8">
<title>注册</title>
<linkrel="stylesheet"href="styles/general.css">
<linkrel="stylesheet"href="styles/cell.css">
<linkrel="stylesheet"href="styles/form.css">
<scripttype="text/javascript"src="js/ref.js"></script>
<styletype="text/css">
.logo-container{
margin-top:50px;
}
.logo-containerimg{
width:100px;
}
.message-container{
height:80px;
}
.link-container{
height:40px;
line-height:40px;
}
.link-containera{
text-decoration:none;
}
</style>
</head>
<body>
<divclass="containerform-container">
<formaction="/wen/regist.do"method="post">
<divclass="form"><!--注册表单开始-->
<divclass="form-row">
<spanclass="cell-1">
<iclass="fafa-user"></i>
</span>
<spanclass="cell-11"style="text-align:left;">
<inputtype="text"name="username"placeholder="请输入用户名">
</span>
</div>
<divclass="form-row">
<spanclass="cell-1">
<iclass="fafa-key"></i>
</span>
<spanclass="cell-11"style="text-align:left;">
<inputtype="password"name="password"placeholder="请输入密码">
</span>
</div>
<divclass="form-row">
<spanclass="cell-1">
<iclass="fafa-keyboard-o"></i>
</span>
<spanclass="cell-11"style="text-align:left;">
<inputtype="password"name="confirm"placeholder="请确认密码">
</span>
</div>
<divclass="form-row">
<spanclass="cell-7">
<inputtype="text"name="verifyCode"placeholder="请输入验证码">
</span>
<spanclass="cell-5"style="text-align:center;">
<imgsrc="/demo/verify/regist.do"onclick="myRefersh(this)">
</span>
</div>
<divclass="form-row"style="border:none;">
<spanclass="cell-6"style="text-align:left">
<inputtype="reset"value="重置">
</span>
<spanclass="cell-6"style="text-align:right;">
<inputtype="submit"value="注册">
</span>
</div>
</div><!--注册表单结束-->
</form>
</div>
</body>
</html>
效果如下图:
当点击刷新页面的时候,验证码也会随着变化,但我们看不清验证码时,只要点击验证码就会刷新,这样局部的刷新可以用JavaScript来实现。
在<img
src="/demo/verify/regist.do">中,添加一个问号和一串后缀数字,当刷新时让后缀数字不断改变,那么形成的验证码也会不断变化,我们可以采用的一种办法是后缀数字用date代替,date获取本机时间,时间是随时变的,这样就保证了刷新验证码可以随时变化。
代码如下:
functionmyRefersh(e){
constsource=e.src;//获得原来的src中的内容
//console.log("source:"+source);
varindex=source.indexOf("?");//从source中寻找?第一次出现的位置(如果不存在则返回-1)
//console.log("index:"+index);
if(index>-1){//如果找到了?就进入内部
vars=source.substring(0,index);//从source中截取index之前的内容(index以及index之后的内容都被舍弃)
//console.log("s:"+s);
vardate=newDate();//创建一个Date对象的一个实例
vartime=date.getTime();//从新创建的Date对象的实例中获得该时间对应毫秒值
e.src=s+"?time="+time;//将加了尾巴的地址重新放入到src上
//console.log(e.src);
}else{
vardate=newDate();
e.src=source+"?time="+date.getTime();
}
}
如回答不详细可追问
❺ java短信验证码如何验证
先创建一个验证码,通过短信代理发送到用户指定的手机,待用户提交后做对比,看验证码是否一致。
整体流程:
用户输入手机号码,点击获取验证码
服务器创建验证码,并通过短信代理商发送到用户手机
用户查看验证码,输入提交
服务器进行确认,反馈成功或者失败。
❻ java用户注册验证代码,用户名,密码,手机号,身份证,email,信息显示在输入框后面
是要效果还是需要通过java验证之后不用刷新页面客户端就知道这些信息是否被人使用过或者该密码是否符合该网站的信息填写要求? 这样的是同过ajax和验证来实现!参考ajax!
❼ 注册时怎么保证手机号码的唯一性用java代码实现
保证手机号码唯来一性,也就自是保证一条数据在该数据集合中数据有且只有一条。
这个实现代码太多了,因为涉及到环境原因,还有系统架构,以及框架的使用。
只能给你提出解决方案
1、使用数据库表唯一键实现(这里是防止并发问题,以最早进来的数据为准)
1)使用数据库作为数据存储,将手机号作为唯一键
2)用户注册时直接往数据库中插入
3)如果已存在则会报唯一键的错误,然后将其捕获返回该手机号已经存在。
❽ 发web网站中注册页面发送手机短信验证码功能的java代码实现
说个流程吧
1.去移动或者电信申请一个web接口
2.客户填写请求输入手机号码提交内
3.调申请的接容口吧(注意给个对方(电信或者移动)的回调地址吧)
4.从回调地址里拿客户输入的数据了,判断数据了
5.返回数据给客户了
纯属个人理解
❾ 用java怎么实现获取手机验证码
你好,首先你得去购买一个短信接口,网上大把的有买的。然后购买之后会给你提供一个接口,然后你去调用购买的接口就可以。
❿ 如何实现java手机短信验证功能
你要验证什么东西,验证规则是什么???
发出来啊