The invention provides a software random number generation method with a dispersion mechanism. The method includes the steps of firstly, obtaining an initial random number seed which is a read system time value and accounts for N bytes; secondly, obtaining a process random number for the random number seed through a linear congruence algorithm, and taking the result of the low N bytes and abandoning the overflow bit if overflow occurs in the process of the linear congruence algorithm; thirdly, conducting dispersion on the generated process random number, namely, dividing every N bytes of the process random number into a group, inquiring the value of each byte in an enquiry table, conducting replacement after each byte is inquired, and sequentially combining the results obtained through replacement to obtain a result random number; fourthly, outputting the result random number. Through the software random number generation method, the data dispersion mechanism is added to the loop iteration process, the randomness of software random data is enhanced, the possibility that the software random number generation method is cracked is greatly lowered, and therefore safety of products is improved.