parent
d7f1d79518
commit
01d42085c8
|
@ -101,8 +101,8 @@ public class Helper {
|
||||||
|
|
||||||
|
|
||||||
return Arrays.stream(ip.split("\\."))
|
return Arrays.stream(ip.split("\\."))
|
||||||
.map(Integer::parseInt).map(String::valueOf)
|
.map(Integer::parseInt).map(String::valueOf)
|
||||||
.collect(Collectors.joining(".")) + mask;
|
.collect(Collectors.joining(".")) + mask;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,14 +125,26 @@ public class Helper {
|
||||||
* @return the boolean
|
* @return the boolean
|
||||||
*/
|
*/
|
||||||
public static boolean ipInRange(String rangeIp, String ipAddr) {
|
public static boolean ipInRange(String rangeIp, String ipAddr) {
|
||||||
|
IPAddress addr;
|
||||||
final int numIp = 2;
|
final int numIp = 2;
|
||||||
final String cidrSplit = "/";
|
final String cidrSplit = "/";
|
||||||
|
final String ipV4All = "0.0.0.0";
|
||||||
|
final String ipV6All = "::";
|
||||||
|
|
||||||
// 范围为空字符串或者与IP相同时,返回真
|
// 范围为空字符串或者与IP相同时,返回真
|
||||||
if (rangeIp.length() == 0 || rangeIp.equals(ipAddr)) {
|
if (rangeIp.length() == 0 || rangeIp.equals(ipAddr)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
addr = new IPAddressString(ipAddr).toAddress();
|
||||||
|
if (addr.isIPv4() && ipV4All.equals(rangeIp)) {
|
||||||
|
return true;
|
||||||
|
} else if (addr.isIPv6() && ipV6All.equals(rangeIp)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception ignored) {}
|
||||||
|
|
||||||
// 处理CIDR格式
|
// 处理CIDR格式
|
||||||
if (rangeIp.contains(cidrSplit)) {
|
if (rangeIp.contains(cidrSplit)) {
|
||||||
IPAddressString network = new IPAddressString(rangeIp);
|
IPAddressString network = new IPAddressString(rangeIp);
|
||||||
|
@ -150,12 +162,11 @@ public class Helper {
|
||||||
try {
|
try {
|
||||||
IPAddress lower = new IPAddressString(ipList[0]).toAddress();
|
IPAddress lower = new IPAddressString(ipList[0]).toAddress();
|
||||||
IPAddress upper = new IPAddressString(ipList[1]).toAddress();
|
IPAddress upper = new IPAddressString(ipList[1]).toAddress();
|
||||||
IPAddress addr = new IPAddressString(ipAddr).toAddress();
|
addr = new IPAddressString(ipAddr).toAddress();
|
||||||
IPAddressSeqRange range = lower.toSequentialRange(upper);
|
IPAddressSeqRange range = lower.toSequentialRange(upper);
|
||||||
return range.contains(addr);
|
return range.contains(addr);
|
||||||
} catch (AddressStringException ignored) {
|
} catch (AddressStringException ignored) {}
|
||||||
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import com.security.arithmetic.CryptoHelper;
|
||||||
import inet.ipaddr.IPAddress;
|
import inet.ipaddr.IPAddress;
|
||||||
import inet.ipaddr.IPAddressString;
|
import inet.ipaddr.IPAddressString;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import javax.crypto.BadPaddingException;
|
import javax.crypto.BadPaddingException;
|
||||||
|
@ -64,19 +65,20 @@ public class demo {
|
||||||
// //id = new ObjectMapper().readValue(json4, IDArrayReq.class);
|
// //id = new ObjectMapper().readValue(json4, IDArrayReq.class);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// /**
|
|
||||||
// * A 2 ip range test.
|
/**
|
||||||
// *
|
* A 2 ip range test.
|
||||||
// * @throws AddressStringException the address string exception
|
*/
|
||||||
// */
|
@Test
|
||||||
// @Test
|
public void a2_ipRangeTest() {
|
||||||
// public void a2_ipRangeTest() throws AddressStringException {
|
Assert.assertTrue(Helper.ipInRange("192.168.0.1-192.168.0.100", "192.168.0.30"));
|
||||||
// Assert.assertTrue(IPAddrType.ipInRange("192.168.0.1-192.168.0.100", "192.168.0.30"));
|
Assert.assertTrue(Helper.ipInRange("192.168.0.30", "192.168.0.30"));
|
||||||
// Assert.assertTrue(IPAddrType.ipInRange("192.168.0.30", "192.168.0.30"));
|
Assert.assertTrue(Helper.ipInRange("192.168.0.40-192.168.0.40", "192.168.0.40"));
|
||||||
// Assert.assertTrue(IPAddrType.ipInRange("192.168.0.40-192.168.0.40", "192.168.0.40"));
|
Assert.assertTrue(Helper.ipInRange("0.0.0.0-255.255.255.255", "192.168.0.30"));
|
||||||
// Assert.assertTrue(IPAddrType.ipInRange("0.0.0.0-255.255.255.255", "192.168.0.30"));
|
Assert.assertTrue(Helper.ipInRange("", "192.168.0.30"));
|
||||||
// Assert.assertTrue(IPAddrType.ipInRange("", "192.168.0.30"));
|
Assert.assertTrue(Helper.ipInRange("0.0.0.0", "192.168.0.30"));
|
||||||
// }
|
Assert.assertTrue(Helper.ipInRange("::", "::abcd"));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Date time debug.
|
* Date time debug.
|
||||||
|
@ -194,6 +196,9 @@ public class demo {
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ip rang.
|
||||||
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void ipRang() {
|
public void ipRang() {
|
||||||
String[] src = new String[]{"112.13.86.0-112.13.86.255", "112.13.82.0-112.13.82.255", "117.148.175.0-117.148" +
|
String[] src = new String[]{"112.13.86.0-112.13.86.255", "112.13.82.0-112.13.82.255", "117.148.175.0-117.148" +
|
||||||
|
@ -444,6 +449,9 @@ public class demo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ip rang 2.
|
||||||
|
*/
|
||||||
public void ipRang2() {
|
public void ipRang2() {
|
||||||
String ip = "117.149.253.197";
|
String ip = "117.149.253.197";
|
||||||
String n = "0.0.0.0";
|
String n = "0.0.0.0";
|
||||||
|
@ -453,6 +461,9 @@ public class demo {
|
||||||
ip);
|
ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Haohan start error.
|
||||||
|
*/
|
||||||
public void haohanStartError() {
|
public void haohanStartError() {
|
||||||
String errMsg = "[{ip=192.168.50.2, 任务名称=三方接口任务467}, {ip=192.168.50.2, 任务名称=三方接口任务468}, {ip=192.168" +
|
String errMsg = "[{ip=192.168.50.2, 任务名称=三方接口任务467}, {ip=192.168.50.2, 任务名称=三方接口任务468}, {ip=192.168" +
|
||||||
".50.2, 任务名称=三方接口任务470}, {ip=192.168.50.2, 任务名称=三方接口任务469}]";
|
".50.2, 任务名称=三方接口任务470}, {ip=192.168.50.2, 任务名称=三方接口任务469}]";
|
||||||
|
@ -469,6 +480,9 @@ public class demo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ipaddr variety.
|
||||||
|
*/
|
||||||
public void ipaddrVariety() {
|
public void ipaddrVariety() {
|
||||||
String[] ipAddrs = new String[]{
|
String[] ipAddrs = new String[]{
|
||||||
"ffff::8fff:ffff:0:ffff",
|
"ffff::8fff:ffff:0:ffff",
|
||||||
|
@ -487,6 +501,9 @@ public class demo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Group array.
|
||||||
|
*/
|
||||||
public void groupArray() {
|
public void groupArray() {
|
||||||
Integer[] org = new Integer[]{1, 2, 3, 4, 5};
|
Integer[] org = new Integer[]{1, 2, 3, 4, 5};
|
||||||
Integer[] diff = new Integer[]{1, 3, 5, 6, 7, 8, 9};
|
Integer[] diff = new Integer[]{1, 3, 5, 6, 7, 8, 9};
|
||||||
|
@ -501,6 +518,9 @@ public class demo {
|
||||||
log.info("Result: {}", groupMap);
|
log.info("Result: {}", groupMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ip segment.
|
||||||
|
*/
|
||||||
public void ipSegment() {
|
public void ipSegment() {
|
||||||
String str = "192.168.1.1/23, 192.168.1.2-192.168.1.80, ::1-::255, 192.168.1, 01.012.012.01, " +
|
String str = "192.168.1.1/23, 192.168.1.2-192.168.1.80, ::1-::255, 192.168.1, 01.012.012.01, " +
|
||||||
"123.123.123-";
|
"123.123.123-";
|
||||||
|
@ -538,6 +558,15 @@ public class demo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Aes.
|
||||||
|
*
|
||||||
|
* @throws IllegalBlockSizeException the illegal block size exception
|
||||||
|
* @throws InvalidKeyException the invalid key exception
|
||||||
|
* @throws BadPaddingException the bad padding exception
|
||||||
|
* @throws NoSuchAlgorithmException the no such algorithm exception
|
||||||
|
* @throws NoSuchPaddingException the no such padding exception
|
||||||
|
*/
|
||||||
public void aes() throws IllegalBlockSizeException, InvalidKeyException, BadPaddingException,
|
public void aes() throws IllegalBlockSizeException, InvalidKeyException, BadPaddingException,
|
||||||
NoSuchAlgorithmException, NoSuchPaddingException {
|
NoSuchAlgorithmException, NoSuchPaddingException {
|
||||||
String plainText = "{\"disposeTime\":60,\"flowDirection\":0,\"mulDisposeIp\":[\"1.1.1.1\"],\"type\":0}";
|
String plainText = "{\"disposeTime\":60,\"flowDirection\":0,\"mulDisposeIp\":[\"1.1.1.1\"],\"type\":0}";
|
||||||
|
@ -550,6 +579,15 @@ public class demo {
|
||||||
log.info("AES256: {}", CryptoHelper.base64Encryption(encode));
|
log.info("AES256: {}", CryptoHelper.base64Encryption(encode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Aesdec.
|
||||||
|
*
|
||||||
|
* @throws IllegalBlockSizeException the illegal block size exception
|
||||||
|
* @throws InvalidKeyException the invalid key exception
|
||||||
|
* @throws BadPaddingException the bad padding exception
|
||||||
|
* @throws NoSuchAlgorithmException the no such algorithm exception
|
||||||
|
* @throws NoSuchPaddingException the no such padding exception
|
||||||
|
*/
|
||||||
public void aesdec() throws IllegalBlockSizeException, InvalidKeyException, BadPaddingException,
|
public void aesdec() throws IllegalBlockSizeException, InvalidKeyException, BadPaddingException,
|
||||||
NoSuchAlgorithmException, NoSuchPaddingException {
|
NoSuchAlgorithmException, NoSuchPaddingException {
|
||||||
String plainText = "6PgUrZa8zZUzDAxAFpV307JfUDVI1gFNo3ZFT7LKtVzRXc3UbwFh6+5i6" +
|
String plainText = "6PgUrZa8zZUzDAxAFpV307JfUDVI1gFNo3ZFT7LKtVzRXc3UbwFh6+5i6" +
|
||||||
|
@ -563,6 +601,9 @@ public class demo {
|
||||||
log.info("AES256: {}", new String(encode));
|
log.info("AES256: {}", new String(encode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Code debug.
|
||||||
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void codeDebug() {
|
public void codeDebug() {
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue