java屏蔽敏感词;验证文件类型;异或加密

  • 屏蔽用户输入的敏感词:
package com.mtlk.demo;

public class zongjie {

	public static void main(String[] args) {
		String parm = "<scrscrscriptiptipt>alert(1)</script>";
		
		do {
			parm = parm.replaceAll("script", "");
		}while(parm.indexOf("script")>0);
		
		System.out.println(parm);

	}

}

输出结果
在这里插入图片描述

  • JAVA代码的屏蔽(破坏)规则
  • toLowerCase防止大写注入
  • 防止scrip,div,html,标签
package com.mtlk.demo;

import java.util.Scanner;

public class zongjie {

	public static void main(String[] args) {
		String[] ars = {"script","div","html","<a>"};
		Scanner scanner = new Scanner(System.in);
		while(true) {
			String parm = scanner.next();
			parm = parm.toLowerCase();
			
			for(String p : ars) {
				do {
				parm = parm.replaceAll(p, "");
				}while(parm.indexOf(p)>0);
			}
			
			System.out.println(parm);
		}

	}

}

  • 两种方法验证文件类型
package com.mtlk.demo;

import java.text.FieldPosition;
import java.util.Scanner;

public class zongjie {

	public static void main(String[] args) {
		String fileName = "image.jsp";
//		int start = fileName.lastIndexOf(".");
//		String type = fileName.substring(start);
//		
//		if(type.equalsIgnoreCase("jpg")) {
//			System.out.println("图片文件");
//			
//		}else {
//			System.out.println("其他文件");
//		}
		
		//正则表达式的方法
		String string = "[a-zA-Z0-9]+.(exe|dll|jsp|asp)";
		
		if(fileName.matches(string)) {
			System.out.println("图片文件");
		}else {
			System.out.println("其他文件");
		}

	}

}

在这里插入图片描述

  • 验证URL是不是https开头:
package com.mtlk.demo;

public class zongjie {

	public static void main(String[] args) {
		String url = "https://www.baidu.com";
		if(url.startsWith("https")) {
			System.out.println("是https开头的url");
		}else {
			System.out.println("不是https开头的url");
		}

	}

}

在这里插入图片描述

  • 异或加密
  • 将明文和密钥从String转成char在转成int型
  • int型的明文和密钥进行异或得到int型密文
  • 在将int型密文转成char再转成string型输出
package com.mtlk.demo;

public class zongjie {

	public static void main(String[] strs) {
		String meString = "赵兄托你帮我办点事";
		String key = "mtlk12345";
		
		char[] cs = meString.toCharArray();
		char[] keys = key.toCharArray();
		
		char[] ms = new char[cs.length];
		
		for(int i = 0;i<cs.length;i++) {
			int j =(int)cs[i] ^ (int)keys[i];
			ms[i] = (char)j;
		}
		System.out.println(new String(ms));

	}

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值