在java中可以利用StringEscapeUtils能很方便的进行html,xml,java等的转义与反转义,而且还能对关键字符串进行处理预防SQL注入;使用它需要导入apache工具包common-lang.jar;
我的使用场景:在保存数据是为了防止SQL注入对存入的数据进行了转义,在读取数据是就需要反转义。(我存入的是html文件);
使用:
import org.apache.commons.lang.StringEscapeUtils;
public class Test {
public static void main(String[] args) {
String sql="1' or '1'='1";
System.out.println("防SQL注入:"+StringEscapeUtils.escapeSql(sql)); //防SQL注入
System.out.println("转义HTML,注意汉字:"+StringEscapeUtils.escapeHtml("xiao 明 ")); //转义HTML,注意汉字
System.out.println("反转义HTML:"+StringEscapeUtils.unescapeHtml("xiao 明")); //反转义HTML
System.out.println("转成Unicode编码:"+StringEscapeUtils.escapeJava("吴建明")); //转义成Unicode编码
System.out.println("转义XML:"+StringEscapeUtils.escapeXml("吴建明")); //转义xml
System.out.println("反转义XML:"+StringEscapeUtils.unescapeXml("吴建明")); //转义xml
}
}
输出结果: