[Feature][R306][task-view-173][webui] wifi password generate to random

Change-Id: I3860b53f40aeb2a4db33bcbd61b0c404e77236c9
diff --git a/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c b/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c
index c943a80..a868cb9 100755
--- a/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c
+++ b/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c
@@ -258,20 +258,20 @@
 	return;
 }
 
-static void generate_random_string(char *str) 
+static void generate_random_string(char *str, int seed) 
 {
 	int i = 0;
 	int random_index = 0;
-    const char charset[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+    const char charset[] = "abcdefghjkmnpqrstuwxyzACDEFGHJKLMNPQRSTUWXYZ2345679~!@#%";
     const int charsetSize = sizeof(charset) - 1; 
 
-    if (str == NULL || strlen(str) < 8) 
+    if (str == NULL)
 	{
         wf_log("Provided string does not have enough space to store the result.\n");
         return;
     }
 
-    srand((unsigned int)time(NULL));
+	srand(seed);
 
     for (i = 0; i < 8; i++) 
 	{
@@ -520,6 +520,10 @@
 	INT  i = 0;
 	INT  valid_mac = 0;
 	INT  len = 0, len1 = 0;
+	char generate_seed[32] = {0};
+	char m_generate_seed[32] = {0};
+	int seed = 0;
+	int m_seed = 0;
 
 	ret = cfg_get_item ("wifi_mac_num", wifi_mac_num_str, sizeof (wifi_mac_num_str));
 	if (ret == 0) {
@@ -575,10 +579,16 @@
 
 //    setWifiWpsDefPin();
 
-	generate_ascii_password (read_mac, outpassword, sizeof (outpassword));
-	generate_ascii_password (m_read_mac, m_outpassword, sizeof (m_outpassword));
-	// generate_random_string(outpassword);
-	// generate_random_string(m_outpassword);
+	// generate_ascii_password (read_mac, outpassword, sizeof (outpassword));
+	// generate_ascii_password (m_read_mac, m_outpassword, sizeof (m_outpassword));
+	strncpy(generate_seed, &read_mac[6], 6);
+	sscanf(generate_seed, "%X", &seed);
+	strncpy(m_generate_seed, &m_read_mac[6], 6);
+	sscanf(m_generate_seed, "%X", &m_seed);
+	wf_log("generate_seed = %s, m_generate_seed = %s", generate_seed, m_generate_seed);
+	wf_log("seed = %d, m_seed = %d", seed, m_seed);
+	generate_random_string(outpassword, seed);
+	generate_random_string(m_outpassword, m_seed);
 
 	cfg_get_item ("wifi_key_fixed", wifi_key_fixed, sizeof (wifi_key_fixed));
 	if(0 != strcmp(wifi_key_fixed, "1"))