⑴ java正则表达式校验 ip
你直接用matchs判断就可以了,matcher是只要内部有能匹配上的就算满足,不是判断整体。
Stringrexp="([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}";
Stringaddr="11111.1.1.1";
System.out.println("1.1.1.1".matches(rexp));
System.out.println("11.1.1.1".matches(rexp));
System.out.println("111.1.1.1".matches(rexp));
System.out.println("11111.1.1.1".matches(rexp));
true
true
true
false
⑵ java 如何校验中文
1.【java代码】
//校验中文
public class TestLater {
public static void main(String[] args){
String aa = "中国China人";
for (int i = 0; i < aa.length(); i++) {
String bb = aa.substring(i, i+1);
//生成一个Pattern,同时编译一个正则表达式.
boolean cc = java.util.regex.Pattern.matches("[\u4E00-\u9FA5]", bb);
System.out.println(bb+" is chinese?-> "+cc);
}
}
}
2.【validate框架】
<field property="other" depends="mask">
<arg key="cardinfo.other" position="0" bundle="-tfpartezoa-tfpartmda"/>
<var>
<var-name>mask</var-name>
<var-value>^[\w|\s|\u4e00-\u9fa5]+$</var-value>
</var>
</field>
⑶ java 怎么实现sign校验
/**
*对Controller进行安全和身份校验
*/
@Around("within(@org.springframework.stereotype.Controller*)&&@annotation(is)")
(ProceedingJoinPointpjp,SecureValidis)
throwsException{
Object[]args=pjp.getArgs();
//Controller中所有方法的参数,前两个分别为:Request,Response
HttpServletRequestrequest=(HttpServletRequest)args[0];
//HttpServletResponseresponse=(HttpServletResponse)args[1];
Stringappid=request.getParameter("appid");
intapp_id=Integer.valueOf(appid);
Stringsignature=request.getParameter("signature");
StringclientSignature=request.getParameter("client_signature");
Stringuri=request.getRequestURI();
Stringprovider=request.getParameter("provider");
if(StringUtils.isEmpty(provider)){
provider="passport";
}
//对appid和signature进行校验
try{
appService.validateAppid(app_id);
booleanisValid=accountService.validSignature(app_id,signature,clientSignature);
if(!isValid)thrownewProblemException(ErrorUtil.ERR_CODE_COM_SING);
}catch(Exceptione){
returnhandleException(e,provider,uri);
}
//继续执行接下来的代码
ObjectretVal=null;
try{
retVal=pjp.proceed();
}catch(Throwablee){
if(einstanceofException){returnhandleException((Exception)e,provider,uri);}
}
//目前的接口走不到这里
returnretVal;
}
请采纳!
⑷ 如何验证java 安装成功
1、点击开始。
⑸ java checksum的校验方式
public class CRC {
/**
* CRC-CCITT(Kermit)验证模式
* @param str
* @return
*/
public String CRC_CCITT_Kermit(String str) {
int j, b, rrrc, c, i;
String tmpBalance;
int k;
rrrc = 0;
tmpBalance = str;
int tmpInt, CharInt;
String tmpChar, tmpStr;
tmpStr = "";
int High;
int Low;
for (j = 1; j <= 3; j++) {
if (Character.isDigit(tmpBalance.charAt(2 * j - 2))) {
High = Integer.parseInt(tmpBalance.charAt(2 * j - 2) + "");
} else {
High = 0;
}
if (Character.isDigit(tmpBalance.charAt(2 * j - 1))) {
Low = Integer.parseInt(tmpBalance.charAt(2 * j - 1) + "");
} else {
Low = 0;
}
High = (High & 0xff) << 4;
High = High | Low;
k = High;
for (i = 1; i <= 8; i++) {
c = rrrc & 1;
rrrc = rrrc >> 1;
if ((k & 1) != 0) {
rrrc = rrrc | 0x8000;
}
if (c != 0) {
rrrc = rrrc ^ 0x8408;
}
k = k >> 1;
}
}
for (i = 1; i <= 16; i++) {
c = rrrc & 1;
rrrc = rrrc >> 1;
if (c != 0) {
rrrc = rrrc ^ 0x8408;
}
}
c = rrrc >> 8;
b = rrrc << 8;
rrrc = c | b;
tmpInt = rrrc;
tmpStr = "";
for (i = 1; i <= 4; i++) {
tmpChar = "";
CharInt = tmpInt % 16;
if (CharInt > 9) {
switch (CharInt) {
case 10:
tmpChar = "A";
break;
case 11:
tmpChar = "B";
break;
case 12:
tmpChar = "C";
break;
case 13:
tmpChar = "D";
break;
case 14:
tmpChar = "E";
break;
case 15:
tmpChar = "F";
break;
}
} else {
tmpChar = Integer.toString(CharInt);
}
tmpInt = tmpInt / 16;
tmpStr = tmpChar + tmpStr;
}
System.out.println("tmpStr:" + tmpStr);
return tmpStr;
}
/**
* CRC-CCITT(XModem)
* CRC-CCITT(0xFFFF)
* CRC-CCITT(0x1D0F)
* 校验模式
* @param flag< XModem(flag=1) 0xFFFF(flag=2) 0x1D0F(flag=3)>
* @param str
* @return
*/
public String CRC_CCITT( int flag,String str) {
int crc = 0x00; // initial value
int polynomial = 0x1021;
byte[] bytes=str.getBytes();
switch(flag){
case 1:
crc=0x00;
break;
case 2:
crc=0xFFFF;
break;
case 3:
crc=0x1D0F;
break;
}
for (int index = 0 ; index< bytes.length; index++) {
byte b = bytes[index];
for (int i = 0; i < 8; i++) {
boolean bit = ((b >> (7-i) & 1) == 1);
boolean c15 = ((crc >> 15 & 1) == 1);
crc <<= 1;
if (c15 ^ bit) crc ^= polynomial;
}
}
crc &= 0xffff;
str = Integer.toHexString(crc);
return str;
}
⑹ 用Java编写一个校验文件的工具
标准服务器上的文件先扫描生成一个列表,记录文件路径,文件名,元数据,和MD5,可能再加一级SHA-256的散列值
其他服务器的每个文件先取MD5,判断是否在标准服务器的MD5散列表中,可以再查一下SHA-256的散列值确定不一样,如果两个散列值都一样就是已有的文件(把空文件先排除掉),如果散列值不同就是修改或者新文件,根据文件名和元数据定位是新文件还是修改的文件生成报表。
⑺ java中如何进行密码校验
一般有2种
办法,
一是用正则表达式匹配法;二就是要你自己写校验字符串的
java代码
⑻ java里如何正确计算检验和
importjava.security.MessageDigest;
publicclassMD5HashingExample
{
publicstaticvoidmain(String[]args)throwsException
{
Stringpassword="123456";
MessageDigestmd=MessageDigest.getInstance("MD5");
md.update(password.getBytes("UTF-8"));//orGBK
bytebyteData[]=md.digest();
//
StringBuffersb=newStringBuffer();
for(inti=0;i<byteData.length;i++){
sb.append(Integer.toString((byteData[i]&0xff)+0x100,16).substring(1));
}
System.out.println("Digest(inhexformat)::"+sb.toString());
//
StringBufferhexString=newStringBuffer();
for(inti=0;i<byteData.length;i++){
Stringhex=Integer.toHexString(0xff&byteData[i]);
if(hex.length()==1)hexString.append('0');
hexString.append(hex);
}
System.out.println("Digest(inhexformat)::"+hexString.toString());
}
}
⑼ java校验字符串表达式
这个好像没有什么好方法.如果你在传数据的时候事先得到各个比较的结果然后在传过来会好办一些.比如1 = 2 AND 2 = 2 OR 3 < 5
你传为03142,(0假1真3并4或)
⑽ java 如何计算校验和,比如如下这段代码如何修改
您好,1、 编写一个计算机程序用来计算一个文件的16位效验和。最快速的方法是用一个32位的整数来存放这个和。记住要处理进位(例如,超过16位的那些位),把它们加到效验和中。
要求:1)以命令行形式运行:check_sum infile
其中check_sum为程序名,infile为输入数据文件名。
2)输出:数据文件的效验和
附:效验和(checksum)
原理:把要发送的数据看成二进制整数序列,并计算他们的和。若数据字节长度为奇数,则在数据尾部补一个字节的0以凑成偶数。
例子:16位效验和计算,下图表明一个小的字符串的16位效验和的计算。
为了计算效验和,发送计算机把每对字符当成16位整数处理并计算效验和。如果效验和大于16位,那么把进位一起加到最后的效验和中。