chapter4 (hashlib+raise exceptions)