I am all for the Go idiom that variable name length should be directly proportional to it's scope, the code samples in the post have take it a bit too far and make the code harder to read.
it would be so much more readable if the struct had more descriptive names
This code should just call sha1.New(). If for some reason these allocations are a performance issue it is very simple to fix that will a little pooling:
it would be so much more readable if the struct had more descriptive names