You are pursuing a good idea with a bad design. Worksheet cells can be masked that way with custom formatting (either native or with VBA) but the formula bar will still display the underlying value. Hiding the formula bar or making something happen when column B is Selected or Changed through those worksheet level events will not do you any good.
Don't use a cell for this, use an ActiveX textbox, either in a userform, or, if you are not familiar with userforms, at least placing a textbox from the Control Tookbox toolbar onto the cell or sheet area where the input would take place. Then, set that textbox's PasswordChar character to * and you will get what you need at that level. From there you can extract the textbox's underlying value with some event such as another button click or whatever you decide should be the point where a proper password was entered and needs to be evaluated as being valid.
Example: Assuming your sheet is named "Sheet1" and your textbox is named "TextBox1" then this base syntax would do it
?Worksheets("Sheet1").TextBox1.Value
In this case the underlying value is returned in the Immediate Window, but again you'd write or recognize that in some other more convenient way, perhaps as a variable or whatever you were thinking of.