sha1sum is enough, but as previously said, be carefull, your device is not of the same size than your file, so sums will differ.
Here how you still can do it
First you'll need to know the size of the file:
$ stat -c '%s' debian-live-8.2.0-amd64-lxde-desktop.iso
Then, to be cool with your syscalls, you better get this as a multiple of a nice power of two like
4096, the multiplication of the two HAVE TO yield exactly the size of the file, in other ways, you'll check too few or too many bytes, yielding a wrong checksum.
scale = 9
1003487232 / 4096
4096 × 244992 = 1003487232 so 4096 is good for me, (and will for you, probably) so I can use a block size of
4096 (typical) and a bloc count of
Don't forget to write the file on the USB key...
$ dd if=debian-live-8.2.0-amd64-lxde-desktop.iso of=/dev/sd? && sync
And know, using the known block size and the block count, you can read the exact number of bytes from the key and check them:
$ dd if=/dev/sdb bs=4096 count=244992 | sha1sum
md5sum is way faster than
sha1sum but that's clearly not your bottleneck here, the bottleneck is the USB thoughput, thanks for noticing).
Or, in short:
dd if=/dev/sdb bs=4096 count=$(($(stat -c '%s' the.iso) / 4096)) | sha1sum