Tôi phải mã hóa một đoạn văn bản bằng Ruby. Tôi đã sử dụng đá quý Ruby-Openssl cho mục đích đó. Văn bản được mã hóa này là chúng được chuyển đến một chương trình python sử dụng mà tôi phải giải mã nó. Tôi đã sử dụng Pycrypto cho mục đích này.Mã hóa/giải mã AES giữa Ruby-OpenSSL, PyCrypto
Vấn đề là, trong Pycrypto chúng ta phải xác định quy ước padding theo cách thủ công. Trong Ruby, phần đệm được thực hiện tự động. Tôi đang sử dụng chế độ mã hóa khối AES-CBC. Lớp đệm này gây ra các vấn đề khi việc loại bỏ nó không thể được thực hiện đúng trong Python. Như một ví dụ, đây là những mã hóa base64 của một văn bản được mã hóa trong cả Ruby và Python:
Python: aENJY28lvE89yY2T/te8vWwdeoeSqSwwlrOAv7b3AWw=
Ruby: aENJY28lvE89yY2T/te8vVoQE6JNxdSRgYXC8mqF3nI=
Xin vui lòng giúp ...
Tôi đã cố gắng sử dụng M2Crypto. Thật không may nó dường như không hoạt động với chương trình được cung cấp trong liên kết. Tôi sẽ cố gắng áp dụng đệm PKCS # 5. – vishy1618
Nó hoạt động bằng cách sử dụng logic đệm, cảm ơn! – vishy1618
Đẹp - bạn được chào đón! – emboss