add sha256 encryption. also incorporate a p9p fix to avoid a potentially invalid (according to the standard) pointer comparison.