首页 > 解决方案 > 如何对多个号码进行编码和加密?

问题描述

我有如下 JSON 数据:

{
    "Body": {
        "AccNum": [
            "000405010255",
            "000405010310",
            "000405009777",
            "000401109537",
            "000401113460",
            "000401116861",
            "001805015288",
            "628801537715",
            "000319000184",
            "000401193586",
            "000405111139",
            "000405501186",
            "000760004994",
            "000805015689",
            "000813001320",
            "001105024982",
            "001801080623",
            "001810042371",
            "001825075268",
            "004214109637",
            "004214109638",
            "010310000278",
            "032501004151",
            "044205008102",
            "105701000275",
            "630010075140"
        ]
    }
}

现在我必须一个一个地获取数字并隐藏数字的前 8 位数字,然后对数字进行编码并在加密数字后。我怎样才能为所有数字做这部分?像前。首先,它将获取第一个数字,然后在对数字进行编码后隐藏该数字的前 8 位数字,并在获取第二个数字后加密数字,它将处理相同的数字。对于所有数字,我必须像这样处理。

标签: pythonjsonencryptionencode

解决方案


使用 json 模块和列表切片。您基本上将 X 与列表项的其他 4 位数字连接 8 次

import json
a={
    "Body": {
        "AccNum": [
            "000405010255",
            "000405010310",
            "000405009777",
            "000401109537",
            "000401113460",
            "000401116861",
            "001805015288",
            "628801537715",
            "000319000184",
            "000401193586",
            "000405111139",
            "000405501186",
            "000760004994",
            "000805015689",
            "000813001320",
            "001105024982",
            "001801080623",
            "001810042371",
            "001825075268",
            "004214109637",
            "004214109638",
            "010310000278",
            "032501004151",
            "044205008102",
            "105701000275",
            "630010075140"
        ]
    }
}
a["Body"]["AccNum"]=["X"*8 + x[8:] for x in a["Body"]["AccNum"]]
print(json.dumps(a))

推荐阅读