I have an signing implementation that already works for SIGHASH_ALL, and I'm trying to also support SIGHASH_SINGLE|SIGHASH_ANYONECANPAY.
I'm referencing https://en.bitcoin.it/wiki/OP_CHECKSIG for the behaviors of different SIGHASH types. From my reading, I assumed that there should be no difference between SIGHASH_ALL and SIGHASH_SINGLE|SIGHASH_ANYONECANPAY (aside from the hashtype appended to the end of the transaction being hashed) if the transaction involved only has one input and one output, but from my testing using other tools this does not seem to be the case.
Am I wrong with my interpretation? What modifications would the signing need if it's SIGHASH_SINGLE|SIGHASH_ANYONECANPAY instead of SIGHASH_ALL, assuming there's only a single input and output?