I have been using this class for years now and really love it but recently I come across an interesting bug in the HN_CAPTCHA class and would like to share my simple fix.
When using the captcha with the php5 class the garbage collector will not set the file prefix, it just simply ignores it.
This is because you had set the 'get_filename_url' and 'get_filename' methods and '$public_key' to private. php will not override the parent class methods when set in this fashion and you cannot use private variables from parent class in the child class.
So to fixed this I didn't want to set these to a public scope so I set these methods and variable to protected.
protected function get_filename($public='')
if($public==='') $public = $this->public_key;