单项选择题

关于数字签名算法和哈希函数的关系,以下哪个说法是正确的?()

A.数字签名算法和哈希函数都是用来进行加密的算法
B.数字签名算法和哈希函数都是用来签名的算法
C.哈希函数产生消息摘要,而数字签名算法对消息摘要进行加密
D.数字签名对消息进行签名,然后由哈希函数产生摘要