⑴ 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位,那麼把進位一起加到最後的效驗和中。