Maybe you want to show some code, and some sample data in addition to the error message? From a first guess, I would say that your data contains non-base32 characters.
| [reply] |
That would be an intelligent first guess ...
The code used is the code posted above. The only modifications I've done are attempting to add (and remove) lc and unpack functions within the decode_base32 to condition the data properly. I am not completely confident in my understanding of unpack, but one such attempt looked like:
print "SHA1: " . udecode_base32(unpack('H32', $urn_decode)) . "\n";
As for example data, I simply grabbed a SHA-1 of a zip file using md5deep. That was converted to base32 using both this script and BitCollider 1 provided by bitzi.com.
SHA-1: 58d18761f662f8cb4cf26de2f82f1b5c6e9a9857
SHA-1 Base32: LDIYOYPWML4MWTHSNXRPQLY3LRXJVGCX
1 http://bitzi.com/bitcollider
| [reply] [d/l] |
Assuming udecode_base32 should be decode_base32, why are you passing a hex string to it?
Update: Ah, you want to convert the SHA to hex, but that's now what you're doing. Fix:
print "SHA1: " . unpack('H*', decode_base32($urn_decode)) . "\n";
| [reply] [d/l] [select] |