1e41f4b71Sopenharmony_ci# Crypto Framework Changelog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.crypto_architecture.1 Change of Sign.update and Verify.update 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci**Access Level** 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciPublic 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci**Reason for Change** 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ciWhen DSA algorithm is used for signing or signature verification with the digest algorithm set to **NoHash**, **update()** is not supported. However, **update()** returns a success message. 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci**Change Impact** 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciThis change is a non-compatible change. 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ciBefore the change:<br>When DSA is used for signing with the digest algorithm set to **NoHash**, calling **update()** returns a success message, but the signature generated is incorrect. 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciAfter the change:<br>When DSA is used for signing with the digest algorithm set to **NoHash**, calling **update()** returns ERR_CRYPTO_OPERATION. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ciBefore the change:<br>When DSA is used to verify the signature data with the digest algorithm set to **NoHash**, calling **update()** returns a success message, but the signature verification fails. 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ciAfter the change:<br>When DSA is used to verify the signature data with the digest algorithm set to **NoHash**, calling **update()** returns ERR_CRYPTO_OPERATION. 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**Start API Level** 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci10 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci**Change Since** 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ciOpenHarmony SDK 5.0.0.22 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**Key API/Component Changes** 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**Sign.update** and **Verify.update** in @ohos.security.cryptoFramework.d.ts 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**Adaptation Guide** 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ciWhen DSA is used for signing or signature verification and the digest algorithm is set to **NoHash**, do not use **update()**. If **Sign.init** and **Sign.sign** are called in signing, use **Verify.init** and **Verify.verify** or the sync APIs in signature verification. 40