lua 实现屏蔽密码信息
本帖最后由 dengxintao_520 于 2017-7-5 11:07 编辑我需要实现一个屏蔽密码功能
text = "{\"pwd\":\"12333123ad\"}\"pwd\":\"1233sd3123\"pwd:123321,ad"
wordLib = {"PWD", "USER_PWD", "pwd", "AUTH_INFO", "REQ_AUTH_INFO",
"REQ_EXT_ACC_PWD", "EXT_ACC_PWD"}
text是给定的字符串,wordLib 是一个table,如果在给定的字符串里面有table的关键字,比如pwd的时候,就屏蔽掉pwd:后面的密码信息(****)。pwd后面有可能是=号,也有可能是冒号,屏蔽后得到的字符串保持json格式
如何做,对lua不熟,求助,谢谢?
没有人知道麽?求解答啊~~!{:5_237:} 哎自己搞吧。
local source = "pwd\":\"12333123ad\"}\"apwd\":\"1233sd3123\"pwd:123321,adpwd1233fgfsdgs"
local desensitizeKeyArray = { "PWD", "USER_PWD", "pwd", "AUTH_INFO", "REQ_AUTH_INFO",
"REQ_EXT_ACC_PWD", "EXT_ACC_PWD" };
function desensitizeStr(source,desensitizeKeyArray)
for i=1,#desensitizeKeyArray do
local regex = "(%A*)"..desensitizeKeyArray.."(%D*)".."(%d+)"
local m = string.match(source, regex)
if m then
--source = string.gsub(source,regex,replaceStr(%5))
source = string.gsub(source,regex,"%1"..desensitizeKeyArray.."%2".."***")
--print("source:"..source)
return source
--break
end
end
end
local res = desensitizeStr(source,desensitizeKeyArray)
print("res:"..res)
页:
[1]