疑惑

class Solution:
    def FindNumber(self,array):
        res = []
        array.sort()
        q = len(array) -1
        i = 0
        while i < q:
            if array[i] == array[i+1]:
                i = i + 2
            else:
                res.append(array[i])
                i = i + 1
        return res

                一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

不知道哪里错了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你解答关于面向对象实现疑惑加解密的问题。 首先,我们需要确定加解密算法的类型。对于对称加密算法,常用的算法有DES、AES等。这些算法的实现都需要密钥,所以我们需要在类中定义一个私有成员变量来存储密钥。同时,我们还需要定义两个方法,一个用于加密,一个用于解密。 以AES算法为例,我们可以定义一个AesEncryptor类,其中包含一个私有成员变量key用于存储密钥,以及两个公有方法encrypt和decrypt。 ```python import hashlib from Crypto.Cipher import AES class AesEncryptor: def __init__(self, key): self.key = hashlib.sha256(key.encode()).digest() self.aes = AES.new(self.key, AES.MODE_ECB) def encrypt(self, plaintext): padding_size = 16 - len(plaintext) % 16 plaintext += bytes([padding_size] * padding_size) ciphertext = self.aes.encrypt(plaintext) return ciphertext def decrypt(self, ciphertext): plaintext = self.aes.decrypt(ciphertext) padding_size = plaintext[-1] plaintext = plaintext[:-padding_size] return plaintext ``` 在这个例子中,我们使用了hashlib模块来对密钥进行哈希,以确保密钥的安全性。同时,我们使用了pycryptodome模块中的AES类来实现加解密。encrypt方法用于加密明文,decrypt方法用于解密密文。 使用时,我们可以创建一个AesEncryptor对象,然后调用其encrypt和decrypt方法来加解密数据。 ```python encryptor = AesEncryptor('my secret key') ciphertext = encryptor.encrypt(b'hello world') print(ciphertext) plaintext = encryptor.decrypt(ciphertext) print(plaintext) ``` 希望这个例子能够帮助你更好地理解如何使用面向对象实现疑惑加解密。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值