01/10/2018, 12:21
Mã hóa RSA 1024 bit bằng PHP như thế nào?
Chào các bác,
Hiện em sử dụng service của 1 “Bên A” cung cấp vào website của em :
- Service đó có yêu cầu 1 tham số truyền sang là 1 chuỗi đã được mã hóa RSA 1024 bit .
- Cặp PrivateKey và Public Key do “Bên A” generate và gửi cho em.
Em cần hỏi như sau ạ :
- Mã hóa RSA 1024 một chuỗi ký tự bằng PHP như nào ạ.
- Key bên họ gửi lại là xml có dạng :
Em ko biết đâu là public key, đâu là private key ạ.
Các bác hỗ trợ em với ạ, chỉ cần keyword để search thôi cũng được ạ.
Em cảm ơn các bác nhiều !
Edit : Vấn đề là em ko biết cái đống XML kia sủ dụng như nào, và sử dụng trong php như nào ợ.
Bài liên quan
Mình thì mình tìm thư viện chứ code tay mã hóa thì ăn no hành
Ngoài việc RSA không chỉ tính m^d mod n là xong (OAEP), mà còn dễ sơ hở nữa (giấu pri key ở đâu?) và bị soi bit của số mũ. https://crypto.stanford.edu/~dabo/papers/ssl-timing.pdf
Bạn xem thư viện phpseclib nhé
VD:
stackoverflow.com
How do I convert an XML RSA key to a PEM file?
Mình không hiểu flow của bạn lắm. Service Bên A trả về cặp public / private key, rồi bạn sử dụng key này để mã hóa à?
đưa public key là mã hóa được rồi, trả luôn private key thì để cho mấy ông nội nghe lén giải mã à?
“Bên A” gửi cặp key cho em để em mã hóa dữ liệu truyền sang bên đó bác ạ .
VD : Có chuổi “user=abc#pass=123” . Họ bảo mã hóa chuỗi đó RSA 1024 bit . Họ gen cặp key cung cấp cho em. và gửi 1 file excel có key dạng xml như trên. Em chả hiểu gì luôn.
Thường thì các service khác có code demo em đọc phát hiểu luôn. Ông này ko có code demo chả hiểu gì :((
Thế thì dễ rồi, bạn lấy pulic key ra rồi mã hoá thôi
http://phpseclib.sourceforge.net/rsa/examples.html#encrypt,pkcs1,pkcs1pub,sign1,enc2,
Mà sao lại trả cả private key làm gì nhỉ?