我搜索了有关此特定要求的任何帮助,因为没有任何结果我决定发布此问题。我会保持简短,
我需要一个使用android的DTMF生成帮助。要求如下。
1.使用Android手机生成DTMF Tone。(使用Android Tone生成器类)
2.使用录音机检测此DTMF音频并显示特定键。 (这整个行动将在无噪音的环境中完成)
我的问题是,如何对此加密,以便只有预定才能收到此内容。如果他们有解密算法,那么每个听这个的人都只能检测到密钥。
任何帮助都将不胜感激。
谢谢,
Nikhil.T
答案 0 :(得分:2)
加密和编码是单独的步骤。
例如,假设我们要将消息ROT13 is not a serious encryption algorithm
发送到其他设备。我们可以使用the ROT13 cipher加密它,即使它不是一个严肃的加密算法。假设this site正在正确应用ROT13,那将为我们提供EBG13 vf abg n frevbhf rapelcgvba nytbevguz
的加密消息。
要将加密的消息发送到另一台设备,我们可以使用任意数量的编码方案和通信路径。你似乎想要使用音频音调。 ToneGenerator
有很多音调。让我们说你想坚持经典
"按键式"音调,由TONE_DTMF_*
上的ToneGenerator
常量表示。其中有16个。
因此,您需要将加密的消息转换为base-16表示形式,类似于人们如何将字节数组转换为base-64表示形式。结果是byte[]
的值范围为0-15。然后,您可以将它们映射到16个音调(例如,TONE_DTMF_0
,其值为0)。发送消息将涉及按顺序播放这些音调,也许是通过某种类型的消息开始"和#34;消息结束"包围它们的色调。
接收消息将是使用AudioRecord
或其他东西来听取音调,将音调解码为0-15值的byte[]
,反转base-16转换以获得加密消息,然后使用解密算法获取原始消息。
Chirp以及用于进行基于音频的数据传输的类似解决方案,this blog post概述了用于实现此类系统的基于JavaScript的解决方案。 AFAIK也没有集成加密功能,但这是您要求这些系统发送哪些数据的问题。