A method for data transmission, characterized by comprising: authenticating, by a target node in a battery management system, a source node in response to a request for data transmission from the source node; selecting, by the target node, any two prime numbers from a pre-stored set of prime numbers if 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; performing, by the source node, a first encryption byte-by-byte for source data to be transmitted using the public key, performing a second encryption for the first encrypted data using a first encryption algorithm stored by the source node itself, and transmitting the second encrypted data to the target node; and performing, by the target node, 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, and wherein authenticating, by the target node in the battery management system, the source node comprises: determining, by the target node, whether a source node address in the request for data transmission is an address in a pre-set set of MAC addresses; generating, by the target node, an authentication seed via a random number generator if 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; encrypting, by the source node, the authentication seed based on the second encryption algorithm stored by the source node itself to generate a second authentication key, and transmitting the second authentication key to the target node; comparing, by the target node, the first authentication key and the second authentication key; and confirming, by the target node, that the authentication is passed, if the first authentication key matches the second authentication key. authenticating, by a target node in a battery management system, a source node in response to a request for data transmission from the source node; selecting, by the target node, any two prime numbers from a pre-stored set of prime numbers if 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; performing, by the source node, a first encryption byte-by-byte for source data to be transmitted using the public key, performing a second encryption for the first encrypted data using a first encryption algorithm stored by the source node itself, and transmitting the second encrypted data to the target node; and performing, by the target node, 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, and wherein authenticating, by the target node in the battery management system, the source node comprises: determining, by the target node, whether a source node address in the request for data transmission is an address in a pre-set set of MAC addresses; generating, by the target node, an authentication seed via a random number generator if 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; encrypting, by the source node, the authentication seed based on the second encryption algorithm stored by the source node itself to generate a second authentication key, and transmitting the second authentication key to the target node; comparing, by the target node, the first authentication key and the second authentication key; and confirming, by the target node, that the authentication is passed, if the first authentication key matches the second authentication key. determining, by the target node, whether a source node address in the request for data transmission is an address in a pre-set set of MAC addresses; generating, by the target node, an authentication seed via a random number generator if 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; encrypting, by the source node, the authentication seed based on the second encryption algorithm stored by the source node itself to generate a second authentication key, and transmitting the second authentication key to the target node; comparing, by the target node, the first authentication key and the second authentication key; and confirming, by the target node, that the authentication is passed, if the first authentication key matches the second authentication key.