fix: handle empty message case in encryption function

--bug=1053881 --user=刘瑞斌 【函数库】-编辑函数,修改启动参数的必填选项后,保存函数报错 https://www.tapd.cn/57709429/s/1675682
This commit is contained in:
CaptainB 2025-03-25 13:12:02 +08:00
parent 64df9cf437
commit 2f20868ca6

View File

@ -39,26 +39,28 @@ class FlibInstance:
self.version = version self.version = version
def encryption(message: str): def encryption(message: str):
""" """
加密敏感字段数据 加密方式是 如果密码是 1234567890 那么给前端则是 123******890 加密敏感字段数据 加密方式是 如果密码是 1234567890 那么给前端则是 123******890
:param message: :param message:
:return: :return:
""" """
max_pre_len = 8 if message == "":
max_post_len = 4 return ""
message_len = len(message) max_pre_len = 8
pre_len = int(message_len / 5 * 2) max_post_len = 4
post_len = int(message_len / 5 * 1) message_len = len(message)
pre_str = "".join([message[index] for index in pre_len = int(message_len / 5 * 2)
range(0, post_len = int(message_len / 5 * 1)
max_pre_len if pre_len > max_pre_len else 1 if pre_len <= 0 else int( pre_str = "".join([message[index] for index in
pre_len))]) range(0,
end_str = "".join( max_pre_len if pre_len > max_pre_len else 1 if pre_len <= 0 else int(
[message[index] for index in pre_len))])
range(message_len - (int(post_len) if pre_len < max_post_len else max_post_len), end_str = "".join(
message_len)]) [message[index] for index in
content = "***************" range(message_len - (int(post_len) if pre_len < max_post_len else max_post_len),
return pre_str + content + end_str message_len)])
content = "***************"
return pre_str + content + end_str
class FunctionLibModelSerializer(serializers.ModelSerializer): class FunctionLibModelSerializer(serializers.ModelSerializer):