A method of evaluating a domain name, comprising: retrieving (S510) a raw domain name and dividing the raw domain name into a plurality of parts; retrieving (S520) a specific part of the parts, wherein the specific part comprises at least one character ; encoding (S530) the at least one character into at least one encoded data , wherein each of the encoded data is a number; padding (S540) the at least one encoded data to a specific length, comprising: calculating a difference between a length of the at least one encoded data and the specific length; prefixing the at least one encoded data with at least one specific number, wherein a number of the at least one specific number is equal to the difference; projecting (S550) the encoded data being padded to a plurality of embedded vectors (X 1 -X 75 ), wherein the at least one encoded data being padded one-to-one corresponds to the embedded vectors (X 1 -X 75 ); sequentially inputting (S560) the embedded vectors (X 1 -X 75 ) to a plurality of cells (C 1 -C 75 ) of a long short term memory model to generate a result vector (VM); and converting (S570) the result vector (VM) to a prediction probability via a fully-connected layer and a specific function , wherein the specific function is a Sigmoid function, and the step of converting the result vector (VM) to the prediction probability via a fully-connected layer and the specific function comprises: mapping the result vector (VM) to a reference value (Z) through the fully-connected layer ; and converting the reference value (Z) to the prediction probability by the Sigmoid function, wherein the prediction probability represents a probability that the raw domain name is generated by a domain generation algorithm. retrieving (S510) a raw domain name and dividing the raw domain name into a plurality of parts; retrieving (S520) a specific part of the parts, wherein the specific part comprises at least one character ; encoding (S530) the at least one character into at least one encoded data , wherein each of the encoded data is a number; padding (S540) the at least one encoded data to a specific length, comprising: calculating a difference between a length of the at least one encoded data and the specific length; prefixing the at least one encoded data with at least one specific number, wherein a number of the at least one specific number is equal to the difference; calculating a difference between a length of the at least one encoded data and the specific length; prefixing the at least one encoded data with at least one specific number, wherein a number of the at least one specific number is equal to the difference; projecting (S550) the encoded data being padded to a plurality of embedded vectors (X 1 -X 75 ), wherein the at least one encoded data being padded one-to-one corresponds to the embedded vectors (X 1 -X 75 ); sequentially inputting (S560) the embedded vectors (X 1 -X 75 ) to a plurality of cells (C 1 -C 75 ) of a long short term memory model to generate a result vector (VM); and converting (S570) the result vector (VM) to a prediction probability via a fully-connected layer and a specific function , wherein the specific function is a Sigmoid function, and the step of converting the result vector (VM) to the prediction probability via a fully-connected layer and the specific function comprises: mapping the result vector (VM) to a reference value (Z) through the fully-connected layer ; and converting the reference value (Z) to the prediction probability by the Sigmoid function, wherein the prediction probability represents a probability that the raw domain name is generated by a domain generation algorithm. mapping the result vector (VM) to a reference value (Z) through the fully-connected layer ; and converting the reference value (Z) to the prediction probability by the Sigmoid function, wherein the prediction probability represents a probability that the raw domain name is generated by a domain generation algorithm. <EOS>