I can think of two seperate solutions in order to make this work in the way you described.
The first method you'll need two seperate login user accounts in SQL Server. The first account will be the actual connection service log-in and the second account will be the connection required to access the table. So in short you'll need 2 database connections open PER USER...
NO THANKS! - So I'm not even going to describe that method further.
The second method would be lock-down the table just as soon as its created via the following script.
DENY SELECT ON dbo.[myTable] TO useraccount;
DENY INSERT ON dbo.[myTable] TO useraccount;
DENY UPDATE ON dbo.[myTable] TO useraccount;
DENY DELETE ON dbo.[myTable] TO useraccount;
DENY ALTER ON dbo.[myTable] TO useraccount;
DENY VIEW DEFINITION ON dbo.[myTable] TO useraccount;
Afterwards you would have your code of the program manage and validate the password.
When the password validates you simply run the same script as above only changing DENY to GRANT as illustrated below.
GRANT SELECT ON dbo.[myTable] TO useraccount;
GRANT INSERT ON dbo.[myTable] TO useraccount;
GRANT UPDATE ON dbo.[myTable] TO useraccount;
GRANT DELETE ON dbo.[myTable] TO useraccount;
GRANT ALTER ON dbo.[myTable] TO useraccount;
GRANT VIEW DEFINITION ON dbo.[myTable] TO useraccount;
Hope this helps,
-ArtificerGM