又报错__init__() got multiple values for argument 'alphabet'
时间: 2023-12-06 14:04:29 浏览: 28
这个错误是因为你在创建 pyffx.Integer 对象时,同时指定了 alphabet 和 ffx 参数,但是 alphabet 参数只能有一个值。你可以将 alphabet 参数删掉,这样 pyffx.Integer 会使用默认的数字字符集。
以下是修改后的代码示例:
```
import pyffx
# 定义 FPE 使用的密钥和算法
key = b'secretkey'
ffx = pyffx.Integer(length=4, ffx=pyffx.Integer, key=key)
# 脱敏手机号的函数
def encrypt_phone_number(phone_number):
# 将手机号中间四位转换为整数类型,然后进行加密
encrypted = ffx.encrypt(int(phone_number[3:7]))
# 将加密后的结果转换为字符串并插入到原手机号的中间四位
return phone_number[:3] + str(encrypted) + phone_number[7:]
# 测试脱敏函数
phone_number = '13812345678'
encrypted_phone_number = encrypt_phone_number(phone_number)
print('原手机号:', phone_number)
print('脱敏后手机号:', encrypted_phone_number)
```
希望这次能够帮到你!
相关问题
python 报错__init__() got multiple values for argument 'schema'
这个错误通常是因为在调用一个函数时,给了一个参数多次,导致参数重复。例如:
```
def foo(name, age, gender):
print(name, age, gender)
foo(name='Alice', age=25, gender='female', schema='test')
```
在这个例子中,`foo()` 函数只有三个参数,但是我们在调用时给了一个额外的参数 `schema`,这就导致了报错。为了解决这个问题,我们需要检查一下我们调用函数时的参数是否有误。
__init__() got multiple values for argument 'options
根据你提供的信息,我无法确定问题的具体原因。但是,通常情况下,当出现“__init__() got multiple values for argument”错误时,这意味着您在函数调用中多次传递了同一个参数。您可以检查您的代码,确保您没有多次传递相同的参数。如果您仍然无法解决问题,请提供更多的上下文和代码,以便我更好地帮助您解决问题。