Password authentication over an insecure connection I was thinking a way to send password to server secure way without using secure connection,I found one solution.I want to find flaw in this.(Note: I am begginer,dont judge me, I know little about cryptography and little about networks)

So server contains hashed version of my password.
When i want to send password I send server request to generate me random key(big enough it is less likely to be same ).
Then I hash password and add that hash to key and hash it again.I send that final hash to server.
Server use key and hash the hashed password from database the same way and compare my hash with it.If it is the same,password is correct.

Ex. (Simplified)
I want to send password "test123" to server.
I request random key and server sends me key "999".
I hash "test123" and get lets say "abc" ,and hash "abc999" and get "efg" and
send that to server.
Server recieves my "efg" , then gets "abc" hashed password from database, adds key "999" and gets "efg" ,so "efg"=="efg"  ,password correct.

The someone listening the connection can't use the same hash because it will get different key.
If you don't use a secure connection, it is vulnerable to man-in-the-middle attacks, so not secure.

If you do use a secure connection, then it is no better than sending the password directly.