Vigenere only works if you implement the plaintext/password in a row/column order. If you reverse it, so you look up the password vertically (using it to choose the row,) and the plaintext horizontally (using it to choose the column) then the result is a hash – it is deterministic, but it cannot be reversed by the same or any other password.
To salt the hash, re-arrange the alphabet, and maintain the requirement that the row and column labels (index) retain the order of the transposition. Despite the intuitive expectation that messages encrypted with the same password would not change, they do so. Different salts result in different cipher-text of the same message using the same password.
Note: Although it is indeed a hash, this does not rule out “collisions,” and it is more of a novelty than a cryptographic tool. Nevertheless, it makes an excellent illustration for students of the field.