QR code is designed as machine readable symbol, which is widely used in various fields of life due to its large message capacity and fast decoding speed. However, as a public standard, it will give rise to the security issue when delivering sensitive information with QR code. To overcome this weakness, this paper explores the characteristic of QR code to propose an efficient secret hiding mechanism to protect the sensitive information within QR code. The secret message would be embedded into cover QR code based on (8, 4) Hamming code. The error correction capacity (ECC) of QR code would correct the errors produced in the secret embedding procedure, and the valid marked QR code would reduce people's curious. Compared to the state-of-art works, the proposed scheme achieves a better performance on the aspects of secret payload and embedding efficiency.