A method for dynamic authentication between a RFID reader and a RFID tag, characterized in that the method comprises: generating (id j, metaID cj, index j, c j) in an authentication database, issuing tag information (metaID crj, h(r i, index j), c rj) for an authorized reader, storing the tag information in a hash table in the reader, and downloading (metaID ctj, index j, c tj) for a tag T j, wherein the id j is a unique identification of the tag T j; the metaID cj, the metaID crj and the metaID ctj are values obtained after c j, c rj, and c tj Hash operations on the id j, respectively; the index j is a unique index value corresponding to the tag T j; the r i is a unique identification of the reader R i; the h(r i, index j) is a positional value generated by the authentication database and provides information for identifying a position where the tag information is stored in the hash table; and the h is a hash function; generating, by the reader R i, a number n r, and then sending, by the reader R j, a request carrying the r i and the number n r to the tag T j; generating, by the tag T j, a number n t, calculating, by the tag T j, a value HRI=h(r i, index j), IN=h(r i, n r, n t) ⊕ HRI, and ME=h(metaID ctj, n r, n t), and then feeding, by the tag T j, the IN, the ME, the c tj and the number n t to the reader R i; calculating, by the reader R i, the value h(r i, n r, n t), obtaining, by the reader R i, the value HRI through an Exclusive OR operation on the calculated value h(r i, n r, n t) and the IN, and then finding, by the reader R i, whether the h(r i, index j) in the tag information equals to the value HRI and whether the c rj in the tag information and the c tj satisfy c tj -c rj ≥0; if the h(r i, index j) in the tag information equals to the value HRI and c tj -c rj ≥0, calculating, by the reader R i, metalD =h c tj -c rj (metaID crj), otherwise determining, by the reader R i, that authentication of the tag fails; and calculating, by the reader R i, h(metaID, n r, n t), and then determining, by the reader R i, whether the calculated value h(metaID, n r, n t) and the ME are equal; if they are equal, determining, by the reader R i, that tag authentication by the reader is successful, wherein each of the numbers n r, n t is a random number, or is a pseudo random number generated by calling the hash function according to a random number. generating (id j, metaID cj, index j, c j) in an authentication database, issuing tag information (metaID crj, h(r i, index j), c rj) for an authorized reader, storing the tag information in a hash table in the reader, and downloading (metaID ctj, index j, c tj) for a tag T j, wherein the id j is a unique identification of the tag T j; the metaID cj, the metaID crj and the metaID ctj are values obtained after c j, c rj, and c tj Hash operations on the id j, respectively; the index j is a unique index value corresponding to the tag T j; the r i is a unique identification of the reader R i; the h(r i, index j) is a positional value generated by the authentication database and provides information for identifying a position where the tag information is stored in the hash table; and the h is a hash function; generating, by the reader R i, a number n r, and then sending, by the reader R j, a request carrying the r i and the number n r to the tag T j; generating, by the tag T j, a number n t, calculating, by the tag T j, a value HRI=h(r i, index j), IN=h(r i, n r, n t) ⊕ HRI, and ME=h(metaID ctj, n r, n t), and then feeding, by the tag T j, the IN, the ME, the c tj and the number n t to the reader R i; calculating, by the reader R i, the value h(r i, n r, n t), obtaining, by the reader R i, the value HRI through an Exclusive OR operation on the calculated value h(r i, n r, n t) and the IN, and then finding, by the reader R i, whether the h(r i, index j) in the tag information equals to the value HRI and whether the c rj in the tag information and the c tj satisfy c tj -c rj ≥0; if the h(r i, index j) in the tag information equals to the value HRI and c tj -c rj ≥0, calculating, by the reader R i, metalD =h c tj -c rj (metaID crj), otherwise determining, by the reader R i, that authentication of the tag fails; and calculating, by the reader R i, h(metaID, n r, n t), and then determining, by the reader R i, whether the calculated value h(metaID, n r, n t) and the ME are equal; if they are equal, determining, by the reader R i, that tag authentication by the reader is successful, wherein each of the numbers n r, n t is a random number, or is a pseudo random number generated by calling the hash function according to a random number.