We have a php code base that calls crypt function as of now using the blowfish algorithm. We have some passwords that seem to contain $ in their hashed salt component. e.g. $2y$10$XisdfsidnsdnisdaAA$$$.[hash_component] <Note the $ after A>
My curiosity led me to the implementation of the crypt function - https://github.com/php/php-src/blob/PHP-7.0.12/ext/standard/crypt_blowfish.c#L380
Their seems to be special handling for $ character! I am trying to figure out if there is a reason the same , why the special handling for $ ? Was php able to produce outputs that contained non base-64 $ characters in their salt component at some point in time ?