那这种情况下,我能否保存密钥,恢复密钥,加快切换路由的时间
因为在一些场景中, 就只在固定的几个路由器之间切换,
确认了底层只保存一个路由器信息。可以自己修改 wpa_set_passphrase() 代码来保存多个路由器的 ssid 和 password 到 flash。
纠正一下,PMK 保存在 esp_wifi_sta_get_ap_info_prof_pmk_internal() ,不是 esp_wifi_sta_get_prof_password_internal()。kaisey wrote: ↑Thu May 19, 2022 1:28 am谢谢,我看了你说的那段代码,PMK应该是保存在一个esp_wifi_sta_get_prof_password_internal()的HEX字符串里,我在修改SSID和PASSWORD的时候修改这个缓冲区就OK了
但是这段代码还是有些不解的地方
1,if (esp_wifi_sta_get_reset_param_internal() != 0) {
esp_wifi_sta_get_reset_param_internal()是在什么时候为0,是没有重新设置SSID和PASSWORD的时候为0吗?
2,if (strlen((char *)esp_wifi_sta_get_prof_password_internal()) == 64) {
这句判断不是会一直正确吗?因为PMK我看都是32字节,这里不就是64吗,是在设置SSID和PASSWORD的时候这里会清空吗?
==> 对的1,if (esp_wifi_sta_get_reset_param_internal() != 0) {
esp_wifi_sta_get_reset_param_internal()是在什么时候为0,是没有重新设置SSID和PASSWORD的时候为0吗?
==> 这里是针对 password 是 64 位的情况,这种情况下也不会执行 pbkdf2_sha1。2,if (strlen((char *)esp_wifi_sta_get_prof_password_internal()) == 64) {
这句判断不是会一直正确吗?因为PMK我看都是32字节,这里不就是64吗,是在设置SSID和PASSWORD的时候这里会清空吗?
Users browsing this forum: No registered users and 45 guests