有没有直接的加密DTMF音调的方法,以便只有意图才能收到这个?

时间:2015-08-29 20:02:47

标签: android encryption dtmf

我搜索了有关此特定要求的任何帮助,因为没有任何结果我决定发布此问题。我会保持简短,

我需要一个使用android的DTMF生成帮助。要求如下。

1.使用Android手机生成DTMF Tone。(使用Android Tone生成器类)

2.使用录音机检测此DTMF音频并显示特定键。 (这整个行动将在无噪音的环境中完成)

我的问题是,如何对此加密,以便只有预定才能收到此内容。如果他们有解密算法,那么每个听这个的人都只能检测到密钥。

任何帮助都将不胜感激。

谢谢,

Nikhil.T

1 个答案:

答案 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也没有集成加密功能,但这是您要求这些系统发送哪些数据的问题。