Editors like vi also add automatically add newlines to the end. You can check with hexdump if you have a newline or not:
$ echo "To begin with, for example, and to make sure your SHA-256 hash function is working, the hash value or checksum of this sentence, from capital 'T' to concluding colon, expressed in hexadecimal, is:" | hexdump -C
00000000 54 6f 20 62 65 67 69 6e 20 77 69 74 68 2c 20 66 |To begin with, f|
00000010 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 6e 64 20 |or example, and |
00000020 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 |to make sure you|
00000030 72 20 53 48 41 2d 32 35 36 20 68 61 73 68 20 66 |r SHA-256 hash f|
00000040 75 6e 63 74 69 6f 6e 20 69 73 20 77 6f 72 6b 69 |unction is worki|
00000050 6e 67 2c 20 74 68 65 20 68 61 73 68 20 76 61 6c |ng, the hash val|
00000060 75 65 20 6f 72 20 63 68 65 63 6b 73 75 6d 20 6f |ue or checksum o|
00000070 66 20 74 68 69 73 20 73 65 6e 74 65 6e 63 65 2c |f this sentence,|
00000080 20 66 72 6f 6d 20 63 61 70 69 74 61 6c 20 27 54 | from capital 'T|
00000090 27 20 74 6f 20 63 6f 6e 63 6c 75 64 69 6e 67 20 |' to concluding |
000000a0 63 6f 6c 6f 6e 2c 20 65 78 70 72 65 73 73 65 64 |colon, expressed|
000000b0 20 69 6e 20 68 65 78 61 64 65 63 69 6d 61 6c 2c | in hexadecimal,|
000000c0 20 69 73 3a 0a | is:.|
000000c5
If the string or file ends in `0a` you have a newline
echo -n "To begin with, for example, and to make sure your SHA-256 hash function is working, the hash value or checksum of this sentence, from capital 'T' to concluding colon, expressed in hexadecimal, is:" | sha256sum
Echo is automatically adding a newline