正如问题所述,我希望用户能够向机器人输入一些东西,例如用户名/密码,并确保数据被加密,并且还能够使用内置的机器人框架加密/解密方法解密它(仅供立即使用),其中密钥对我(程序员)隐藏。基本上,我将能够执行以下操作:
字符串结果 = 等待活动; 字符串敏感信息 = Dialog.Decrypt(result.text);
有没有办法告诉对话框或上下文来加密活动?
这样,如果有活动记录器记录聊天,则敏感的聊天信息不会以纯文本形式存储。
机器人框架中没有执行加密/解密的内置功能,您必须自己编写该部分。
至于是否标记消息以进行日志记录,您可能最好使用channelData
而不是其中一个状态数据包 这是因为通道数据不与状态数据关联,仅与活动关联。
在您的评论中,您说"但我似乎无法弄清楚如何从 IActivity 对象中检索该值"好吧,您不能直接从活动对象本身检索该值。 如果您使用的是控制器或对话框以外的其他内容(例如IActivityLogger
的实现),您最终将不得不执行类似我对此问题的回答中的内容。 但是,当您将数据保存在channelData
中时,可以直接从Activity
/IActivity
对象(如activity.ChannelData...
)访问它。 通道数据是一个 (JSON) 对象,可用于存储所需的任何数据,也可用于将特定于通道的数据发送到通道以使用该通道的自定义功能。