- /**
- * @param str
- * 要处理的str
- * @param keepStart
- * 要保留的字符串
- * @param flag
- * true-->随机位置随机替换 ,false-->尾部替换len个changeStr
- * @param num
- * changeStr在str结果中的个数
- * @param changeStr
- * 替换使用changeStr,eg:"*","$","%" ....
- * @return
- */
- public static String encryptionStr(String str, int keepStart, boolean flag,
- int num, String changeStr) {
- int lenAll = str.length();
- int strLen = lenAll - keepStart;
- if (keepStart > str.length()
- || str.length() - keepStart < changeStr.length())
- return str;
- String tempStr = str.substring(keepStart, str.length());
- String pz = str.substring(0, keepStart);
- String result = "";
- Random r = new Random();
- if (flag) {
- num = r.nextInt(strLen - 1) + 1;
- int tempLen = r.nextInt(strLen);
- if (strLen - tempLen <= num) {
- pz = str.substring(0, pz.length() + tempLen);
- for (int i = 0; i < num && pz.length() < strLen + keepStart; i++) {
- pz += changeStr;
- }
- return pz;
- }
- result = tempStr.substring(0, tempLen);
- for (int i = 0; i < num && pz.length() < strLen + keepStart; i++) {
- result += changeStr;
- }
- result += tempStr.substring(tempLen + num, strLen);
- pz += result;
- } else {
- pz += str.substring(pz.length(), lenAll - num);
- for (int i = 0; i < num; i++) {
- pz += changeStr;
- }
- }
- return pz;
- }
- //该片段来自于http://www.codesnippet.cn/detail/060620149736.html
来源: http://www.codesnippet.cn/detail/060620149736.html