well, your error is not in your code, it's in the file you're including sha1.h
which is implementing a virtual method from Print.h
but with the wrong return type:
in sha1.h:
virtual void Sha1Class::write(uint8_t)
^^^^
in Print.h:
virtual size_t Print::write(uint8_t)
^^^^^^
your sha1
library is likely to have been written for a different version of the Arduino framework.
The error is pretty clear, as it says:
error: conflicting return type specified for 'virtual void Sha1Class::write(uint8_t)'
error: overriding 'virtual size_t Print::write(uint8_t)'
so the compiler is saying here:
"You're defining in Print.h a method that has to be reimplemented of a given type, and when you're reimplementing it, you're giving it another type. I did my best, but really, I don't understand what you want!"