Nếu tôi gọi os.urandom (64), tôi được cấp 64 byte ngẫu nhiên. Với tham chiếu đến Convert bytes to a Python string tôi đã cố gắngLàm thế nào tôi có thể chuyển đổi một urthon python thành một chuỗi?
a = os.urandom(64)
a.decode()
a.decode("utf-8")
nhưng đã nhận lỗi traceback nói rằng các byte không phải là trong utf-8.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 0: invalid start byte
với các byte
b'\x8bz\xaf$\xb6\x93q\xef\x94\x99$\x8c\x1eO\xeb\xed\x03O\xc6L%\xe70\xf9\xd8
\xa4\xac\x01\xe1\xb5\x0bM#\x19\xea+\x81\xdc\xcb\xed7O\xec\xf5\\}\x029\x122
\x8b\xbd\xa9\xca\xb2\x88\r+\x88\xf0\xeaE\x9c'
Có một phương pháp fullproof để giải mã các byte vào một số đại diện chuỗi? Tôi đang tạo các mã thông báo ngẫu nhiên sudo để theo dõi các tài liệu liên quan trên nhiều công cụ cơ sở dữ liệu.
cách Odd để làm việc đó ... Tại sao không chỉ có một db nhiều "trung tâm" mà tạo ra ID riêng của mình, trong đó đề cập đến các ID khác ... ? Hoặc, thay vì dùng 'urandom' - tại sao không dùng uuid4 hay tương tự? –
Điều này cũng có thể được sử dụng để tạo ra một hạt giống ngẫu nhiên? – Pinocchio
Tạo chuỗi ký tự ngẫu nhiên của Django. https://github.com/django/django/blob/master/django/utils/crypto.py#L51 – bgth