Skip to content

Commit 2f20868

Browse files
committed
fix: handle empty message case in encryption function
--bug=1053881 --user=刘瑞斌 【函数库】-编辑函数,修改启动参数的必填选项后,保存函数报错 https://www.tapd.cn/57709429/s/1675682
1 parent 64df9cf commit 2f20868

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

apps/function_lib/serializers/function_lib_serializer.py

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,26 +39,28 @@ def __init__(self, function_lib: dict, version: str):
3939
self.version = version
4040

4141
def encryption(message: str):
42-
"""
43-
加密敏感字段数据 加密方式是 如果密码是 1234567890 那么给前端则是 123******890
44-
:param message:
45-
:return:
46-
"""
47-
max_pre_len = 8
48-
max_post_len = 4
49-
message_len = len(message)
50-
pre_len = int(message_len / 5 * 2)
51-
post_len = int(message_len / 5 * 1)
52-
pre_str = "".join([message[index] for index in
53-
range(0,
54-
max_pre_len if pre_len > max_pre_len else 1 if pre_len <= 0 else int(
55-
pre_len))])
56-
end_str = "".join(
57-
[message[index] for index in
58-
range(message_len - (int(post_len) if pre_len < max_post_len else max_post_len),
59-
message_len)])
60-
content = "***************"
61-
return pre_str + content + end_str
42+
"""
43+
加密敏感字段数据 加密方式是 如果密码是 1234567890 那么给前端则是 123******890
44+
:param message:
45+
:return:
46+
"""
47+
if message == "":
48+
return ""
49+
max_pre_len = 8
50+
max_post_len = 4
51+
message_len = len(message)
52+
pre_len = int(message_len / 5 * 2)
53+
post_len = int(message_len / 5 * 1)
54+
pre_str = "".join([message[index] for index in
55+
range(0,
56+
max_pre_len if pre_len > max_pre_len else 1 if pre_len <= 0 else int(
57+
pre_len))])
58+
end_str = "".join(
59+
[message[index] for index in
60+
range(message_len - (int(post_len) if pre_len < max_post_len else max_post_len),
61+
message_len)])
62+
content = "***************"
63+
return pre_str + content + end_str
6264

6365

6466
class FunctionLibModelSerializer(serializers.ModelSerializer):

0 commit comments

Comments
 (0)