A method for data transmission, wherein the method is performed by a target node in a battery management system and comprises: authenticating a source node in the battery management system in response to a request for data transmission from the source node; selecting any two prime numbers from a pre-stored set of prime numbers under a condition that the authentication is passed, generating a public key and a private key according to the two prime numbers, and transmitting the public key to the source node; receiving a second encrypted data from the source node, wherein the second encrypted data is obtained by the source node based on a first encryption using the public key and a second encryption using a first encryption algorithm; performing a first decryption for the second encrypted data using a decryption algorithm corresponding to the first encryption algorithm and stored by the target node itself, and performing a second decryption byte-by-byte for the first decrypted data using the private key; wherein the method is characterized in that authenticating the source node comprises: determining whether a source node address in the request for data transmission is an address in a pre-set set of MAC addresses; generating an authentication seed via a random number generator under a condition that the source node address is the address in the pre-set set of MAC addresses, transmitting the authentication seed to the source node, and encrypting the authentication seed based on a second encryption algorithm stored by the target node itself to generate a first authentication key; receiving a second authentication key from the source node; comparing the first authentication key and the second authentication key; and confirming that the authentication is passed, under a condition that the first authentication key matches the second authentication key. authenticating a source node in the battery management system in response to a request for data transmission from the source node; selecting any two prime numbers from a pre-stored set of prime numbers under a condition that the authentication is passed, generating a public key and a private key according to the two prime numbers, and transmitting the public key to the source node; receiving a second encrypted data from the source node, wherein the second encrypted data is obtained by the source node based on a first encryption using the public key and a second encryption using a first encryption algorithm; performing a first decryption for the second encrypted data using a decryption algorithm corresponding to the first encryption algorithm and stored by the target node itself, and performing a second decryption byte-by-byte for the first decrypted data using the private key; wherein the method is characterized in that authenticating the source node comprises: determining whether a source node address in the request for data transmission is an address in a pre-set set of MAC addresses; generating an authentication seed via a random number generator under a condition that the source node address is the address in the pre-set set of MAC addresses, transmitting the authentication seed to the source node, and encrypting the authentication seed based on a second encryption algorithm stored by the target node itself to generate a first authentication key; receiving a second authentication key from the source node; comparing the first authentication key and the second authentication key; and confirming that the authentication is passed, under a condition that the first authentication key matches the second authentication key. determining whether a source node address in the request for data transmission is an address in a pre-set set of MAC addresses; generating an authentication seed via a random number generator under a condition that the source node address is the address in the pre-set set of MAC addresses, transmitting the authentication seed to the source node, and encrypting the authentication seed based on a second encryption algorithm stored by the target node itself to generate a first authentication key; receiving a second authentication key from the source node; comparing the first authentication key and the second authentication key; and confirming that the authentication is passed, under a condition that the first authentication key matches the second authentication key.