在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("<font>xiao 明 </font>")); //转义HTML,注意汉字
System.out.println("反转义HTML:"+StringEscapeUtils.unescapeHtml("<font>xiao 明</font>")); //反转义HTML
System.out.println("转成Unicode编码:"+StringEscapeUtils.escapeJava("吴建明")); //转义成Unicode编码
System.out.println("转义XML:"+StringEscapeUtils.escapeXml("<name>吴建明</name>")); //转义xml
System.out.println("反转义XML:"+StringEscapeUtils.unescapeXml("<name>吴建明</name>")); //转义xml
}
}
输出结果: