<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      python 對于實現(xiàn)rsa加密算法

      import base64
      
      import rsa
      
      
      class GenerateKey(object):
          d = "ascii"
      
          def generate_keys(self, bits=1024):
              (pubkey, privkey) = rsa.newkeys(bits)
              pem_pubkey = rsa.PublicKey.save_pkcs1(pubkey).decode(self.d)
              b64_pubkey = self.b64_encrypt(pem_pubkey).decode(self.d)
      
              pem_privkey = rsa.PrivateKey.save_pkcs1(privkey).decode(self.d)
              b64_privkey = self.b64_encrypt(pem_privkey).decode(self.d)
      
              return b64_pubkey, b64_privkey
      
          def decrypt(
              self, ciphertext: str | bytes, private_key_pem: bytes | str | rsa.PrivateKey
          ) -> str:
              """私鑰入?yún)⒈仨毷莗em格式, 不接受(模數(shù),指數(shù)) 的類型
      
              Args:
                  ciphertext (str): 字符串
                  private_key_pem (str): pem字節(jié)串
      
              Returns:
                  _type_: _description_
              """
              if isinstance(private_key_pem, (str, bytes)):
                  private_key_pem = private_key_pem.strip()
                  if isinstance(private_key_pem, str):
                      private_key_pem = private_key_pem.encode()
                  private_key = rsa.PrivateKey.load_pkcs1(
                      private_key_pem, "PEM"
                  )  # 解析成為 (模數(shù),指數(shù)) 類型
              else:
                  private_key = private_key_pem
              if isinstance(ciphertext, str):
                  ciphertext = ciphertext.encode()
      
              decrypted_text = rsa.decrypt(ciphertext, private_key)
      
              return decrypted_text.decode()
      
          def encrypt(self, plaintext: str | bytes, public_key: bytes | str | rsa.PublicKey):
              # rsa 加密函數(shù)
              """僅接受pem格式數(shù)據(jù),不支持(模數(shù),指數(shù)) 的類型
      
              Args:
                  plaintext (str): 需要加密的文本
                  public_key (rsa.PublicKey): 使用的公鑰字節(jié)串
      
              Returns:
                  _type_: _description_
              """
              if isinstance(plaintext, str):
                  plaintext = plaintext.encode()
      
              if isinstance(public_key, (str, bytes)):
                  public_key = public_key.strip()
                  if isinstance(public_key, str):
                      public_key = public_key.encode()
                  public_key = rsa.PublicKey.load_pkcs1(public_key, "PEM")  # 解析成為 (模數(shù),指數(shù)) 類型
              else:
                  public_key = public_key
      
              ciphertext = rsa.encrypt(plaintext, public_key)
              return ciphertext.decode()
      
          def b64_encrypt(self, test: str):
              # b64編碼
              return base64.b64encode(test.encode(self.d))
      
          def b64_decrypt(self, test: str):
              # b64解碼
              return base64.b64decode(test.encode(self.d))

      前端與后端傳輸時,前端可能傳給后端的是b64對象,后端解密時需要注意。

      posted @ 2024-05-17 15:30  小天狼鑫  閱讀(126)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本精品极品视频在线| 人人妻人人做人人爽夜欢视频 | 人妻有码av中文字幕久久琪| 中文人妻av高清一区二区| 南康市| av天堂午夜精品一区| 精品久久久久久久久午夜福利| 99久久精品看国产一区| 2021AV在线无码最新| 久久青青草原国产精品最新片 | 日韩av中文字幕有码| 精品国产不卡在线观看免费| 伊人久在线观看视频| 国产人妻人伦精品婷婷| 伊人精品久久久大香线蕉 | 久久综合偷拍视频五月天| 国产尤物精品自在拍视频首页| 久久五月丁香激情综合| 国产精品青青青高清在线| 不卡在线一区二区三区视频| 国产粉嫩高中无套进入| 镇巴县| 成人中文在线| 国产亚洲精品成人无码精品网站| 免费看黄片一区二区三区| 国产真人做受视频在线观看| 亚洲男人av香蕉爽爽爽爽| 日韩一卡二卡三卡四卡五卡| 亚洲高清WWW色好看美女| 国产av第一次处破| 中文字幕亚洲一区二区va在线| 国产精品天天看天天狠| 忘忧草影视| 国产精品白浆在线观看免费| 国产精品一区在线免费看| 日本高清在线播放一区二区三区| 色综合天天综合网中文伊| 强插少妇视频一区二区三区| 国产极品美女高潮无套| 久热这里只有精品视频3| 在线a级毛片无码免费真人|