@FuckingAwesome

Ошибка AttributeError: 'bytes' object has no attribute 'format', как решить?

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
from flask import Flask
import binascii
import rsa.randnum
import cryptography
from Crypto.Cipher import Salsa20
from cryptography.fernet import Fernet, MultiFernet
import base64
import qrcode
import image
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.backends import default_backend
from authlib.specs.rfc7519 import jwt
from cryptography.hazmat.primitives.serialization import load_pem_public_key
from cryptography import x509
from cryptography.hazmat.primitives.hashes import HashContext
import datetime

private_key = rsa.generate_private_key(
    public_exponent=65537,
    key_size=2048,
    backend=default_backend()
    )

pem = private_key.private_bytes(
    encoding=serialization.Encoding.PEM,
    format=serialization.PrivateFormat.PKCS8,
    encryption_algorithm=serialization.BestAvailableEncryption(b'mypassword')
    )
pem.splitlines()[0]

print(pem)

class Key_Private():

    def __init__(self, private_key):
        self.__private_key = private_key

    def private_key_funct(self):
        return self.__private_key

    def __str__(self):
        return b'Your private key: {0}'.format(self.__private_key).encode()

new_private_key = Key_Private(private_key) #Key_Private(private_key)

print(new_private_key)

Ошибка AttributeError: 'bytes' object has no attribute 'format' как решить?
  • Вопрос задан
  • 45 просмотров
Решения вопроса 2
hottabxp
@hottabxp
Эксперт по BeautifulSoup(но это не точно!)
В код не вчитывался, но, чтобы убрать ошибку, из строки:
return b'Your private key: {0}'.format(self.__private_key).encode()

уберите b, так как у объекта byte нет аттрибута format
Ответ написан
@bacon
Прерву мучения:
print('Your private key: {0}'.format(pem.decode()))

PS и выбрось свой класс Key_Private
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Filart97
.format это метод класса str.

Конкретно:
'Your private key: {0}'.format(self.__private_key)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы