GET and POST with Flask - optimum performance
You can avoid the Content-Type check by using request.get_json() method.




from werkzeug.wrappers import BaseRequest
...

try:
    data = request.get_json()
except BadRequest:
    return (jsonify(message="Bad Request"), 400)

message = data['message']
digest = sha256(message.encode('utf-8')).hexdigest()
redis.set(sha, message)
return (jsonify(digest=digest), 201)



Use better variable names, message can be replaced with data and message variable can be used to store the actual message from data. Similarly sha can be replaced with digest.
The else blocks in both functions can be removed as the corresponding if blocks are already returning. I personally find lesser indented code much easier to read and it also helps in keeping the Cyclomatic complexity low.
There are no check against the data being passed by the user, for example message can be passed as an empty string, None, integer etc. You probably want to use some sort of validation here.