备用源域名脱敏
This commit is contained in:
parent
200286485d
commit
89d650f913
|
|
@ -26,7 +26,7 @@ class DomainListAdapter(layoutResId: Int) :
|
|||
|
||||
var selectedPosition: Int = -1
|
||||
|
||||
var addressIndex=1
|
||||
var addressIndex = 1
|
||||
|
||||
override fun convert(holder: BaseViewHolder, item: DomainItemBean) {
|
||||
val domainSelectedTv = holder.getView<TextView>(R.id.domain_selected_tv)
|
||||
|
|
@ -42,14 +42,46 @@ class DomainListAdapter(layoutResId: Int) :
|
|||
if (!TextUtils.isEmpty(item.address)) {
|
||||
var mmkv = MMKV.defaultMMKV()
|
||||
val fhost = mmkv.decodeString(BZYConstants.MMKV_KEY_FIRST_HOST, "")
|
||||
var showAddress= item.address.replace(Regex("https://"), "")
|
||||
if (item.address==fhost){
|
||||
showAddress+=" (推荐)"
|
||||
var showAddress = item.address.replace(Regex("https://"), "")
|
||||
// **脱敏处理**
|
||||
showAddress = maskSensitiveInfo(showAddress)
|
||||
|
||||
if (item.address == fhost) {
|
||||
showAddress += " (推荐)"
|
||||
}
|
||||
addressName.text =showAddress
|
||||
addressName.text = showAddress
|
||||
}
|
||||
// addressName.text = "地址${addressIndex}"
|
||||
addressIndex++
|
||||
}
|
||||
|
||||
private fun maskSensitiveInfo(address: String): String {
|
||||
val parts = address.split(".")
|
||||
|
||||
return if (parts.size > 2) {
|
||||
// 处理中间部分,只脱敏每个部分的核心字符
|
||||
val maskedParts = parts.mapIndexed { index, part ->
|
||||
if (index == 0 || index == parts.size - 1) {
|
||||
part // 首尾部分不变
|
||||
} else {
|
||||
maskMiddleCharacters(part) // 处理中间部分
|
||||
}
|
||||
}
|
||||
maskedParts.joinToString(".") // 重新组合成域名
|
||||
} else {
|
||||
address // 只有两部分时不脱敏
|
||||
}
|
||||
}
|
||||
|
||||
private fun maskMiddleCharacters(text: String): String {
|
||||
return when {
|
||||
text.length > 2 -> {
|
||||
val firstChar = text.first()
|
||||
val lastChar = text.last()
|
||||
val maskedMiddle = "*".repeat(text.length - 2)
|
||||
"$firstChar$maskedMiddle$lastChar"
|
||||
}
|
||||
else -> "*".repeat(text.length) // 长度 ≤ 2 时,全替换为 *
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue