1. 程式人生 > 其它 >一種非聯網裝置接龍取值變函式序列密碼生成方式

一種非聯網裝置接龍取值變函式序列密碼生成方式

本發明公開了一種非聯網裝置接龍取值變函式序列密碼生成方式.所述方式:非聯網裝置預設或初始化多組多位隨機陣列,多組位值算式,根據接龍儲存位,取每位數值對應的多組隨機陣列位置的數值, 根據接龍儲存位跳位選取算式運算.依據執行序數值接龍儲存位運算個位值,跳位擷取新的密碼.在同步陣列和算式的雲主機上,鑑別使用者許可權後獲取密碼.通過比對密碼方式實現使用者鑑別許可權使用裝置的目的.可應用於非聯網共享裝置. 上述密碼跳位選取不完整片斷,故不存在反向破解.裝置不聯網,不存在黑客攻擊裝置和攔截通訊的可能.低成本高安全性解決非聯網裝置鑑別使用者許可權的可靠方法.可促使小計算器成本控制上百組收件櫃.
一種非聯網裝置接龍取值變函式序列密碼生成方式
技術領域
[0001] 本發明涉及一種非聯網裝置接龍取值變函式序列密碼生成方式,屬於資料處理領域。
背景技術
[0002] 聯網共享裝置,補充了人們生活中不同場景,不同時段的多種需求.然而一些低成本,便移動的小型裝置,不具備聯網的條件下.或固定密碼,或定員使用,對越來越多共享使用需求不能滿足。
發明內容
[0003] 基於此,本發明提供一種能對不具備聯網條件的裝置通過核對密碼鑑權共享使用接龍取值變函式序列密碼生成方法,所述方法包括:
裝置儲存晶片預設或使用者初始化多組隨機陣列, 預設多組位值算式,和裝置ID, 預設接龍儲存位,預設序數儲存位;
第一次使用取第一陣列後3位附值接龍儲存位;
根據接龍儲存位每位對應數值對應多組隨機陣列的對應位置取值;
根據接龍儲存位數值選取算式;
基於接龍儲存位選取的動態算式代入選取的動態數值,運算後生成長串數字;
依據接龍儲存位和執行次數乘積個位值大小,跳位擷取長串數字相鄰6位數作為新的密碼;
使用者根據裝置ID或編號或位置登陸雲主機鑑別該時段使用者許可權.通過則顯示裝置密碼.裝置比對正確,則接龍儲存位更新為運算後生成長串數字的後3位,執行序數加1. 返回確認校驗碼.不正確則返回包含接龍儲存位和序數的校驗碼資訊。
具體實施方式
[0004] 為了使本申請的目的、技術方案及優點更加清楚明白,以下結合例項,對本申請進行進一步詳細說明。應當理解,此處描述的具體實施例僅僅用以解釋本申請,並不用於限定本申請.
在一個例項中,例1:一個簡單的4陣列4算式單通道接龍取值變函式接龍序列密碼生成方法,預設4個多位隨機陣列,4算式.裝置ID.同步到雲主機.
a1=325199034326(隨機12位陣列)
a2=013462923639
a3=812734378928
a4=457651834879
算式S1=(a2k1*100+a3k3+i)*(a3k1*10000+a1k2+a1k2)*(a1k1+a1k2+a1k2)+a4k1+a4k2+a4k3+i
S2=(a2k1*100+a1k3+i)*(a2k1*10000+a2k2+a1k2)*(a1k1+a3k2+a1k2)+a4k1+a4k2+a4k3+i
S3=(a1k1*100+a1k3+i)*(a2k1*10000+a2k2+a1k3)*(a3k1+a3k2+a1k2)+a4k1+a4k2+a4k3+i
S4=(a3k1*100+a2k3+i)*(a1k1*10000+a2k1+a1k1)*(a3k1+a3k2+a1k2)+a4k1+a4k2+a4k3+i
第一次使用或復位裝置後取第一陣列後3位附值接龍儲存位k=326,並依據裝置ID同步到雲主機.接龍儲存位k=326,則取其百位為k1=3,取其十位為k2=2,取其個位為k3=6,
對應陣列a1第3位a1k1=5 a1第2位a1k2=2 a1第6位a1k3=9
對應陣列a2第3位a2k1=3 a2第2位a2k2=1 a2第6位a2k3=2
對應陣列a3第3位a3k1=2 a3第2位a3k2=1 a3第6位a3k3=4
對應陣列a4第3位a4k1=7 a4第2位a4k2=5 a4第6位a4k3=1
假設取算式函式為接龍儲存位個位6,除2取正等於3則取算式S3
S3=(a1k1*100+a1k3+i)*(a2k1*10000+a2k2+a1k3)*(a3k1+a3k2+a1k2)+a4k1+a4k2+a4k3+i
假設當前執行序數i是622則
S3=(5*100+9+622)*(3*10000+1+9)*(2+1+2)+7+5+1+622
S3=169707185
接龍儲存位和執行次數乘積622*326個位是2
S3=169707185擷取第2位及後5位得新密碼
697071
如驗證正確,儲存S3=169707185後3位185為接龍儲存位,並存儲執行序數i加1等於623並返回k=185 與序數623並取a1,a2末尾數生成長字串確認碼.
如驗證錯誤,則提示核對裝置編號並返回k=326 與序數622並取a1,a2,a3,a4
末尾數生成長字串校驗碼
示例2:安全係數要求,增加為10個隨機陣列,和10個算式.10通道(如收件櫃的多個櫃門)
預設10個12位陣列
a1=325199034710 a2=345822078180 a3=341345797422
a4=013462923639 a5=234536680122 a6=231075656354
a7=812734378928 a8=133479764542 a9=678243243658
a10=457651834631
預設10個通道對應10個接龍儲存位10個序數儲存位
如當前通道10取第10陣列後3位附值儲存位k=631假設執行序數i=1
k第一位k1=6 k第二位k2=2 k第三位k3=1
對應陣列a1第6位a1k1=9 a1第2位a1k2=2 a1第1位a1k3=3
對應陣列a2第6位a2k1=2 a2第2位a2k2=4 a2第1位a2k3=3
對應陣列a3第6位a3k1=5 a3第2位a3k2=4 a3第1位a3k3=3
對應陣列a4第6位a4k1=2 a4第2位a4k2=1 a4第1位a4k3=0
對應陣列a5第6位a5k1=6 a5第2位a5k2=3 a5第1位a5k3=2
對應陣列a6第6位a6k1=5 a6第2位a6k2=3 a6第1位a6k3=2
對應陣列a7第6位a7k1=4 a7第2位a7k2=1 a7第1位a7k3=8
對應陣列a8第6位a8k1=9 a8第2位a8k2=3 a8第1位a8k3=1
對應陣列a9第6位a9k1=3 a9第2位a9k2=7 a9第1位a9k3=6
對應陣列a10第6位a10k1=1 a10第2位a10k2=5 a10第1位a10k3=4
k=631取首位值是6
則取算式s6
s1=(a1k1*10+a1k3+i)*(a2k1*10+a2k2+a1k3)*(a3k1*1000+a3k2+a1k2)*a9k1+a9k2+ank3+i
s2=(a2k2*10+a1k3+i)*(a3k1*10+a4k2+a1k3)*(a4k1*1000+a4k2+a3k2)*a9k1+a9k2+ank3+i
...s6=(a6k2*10+a1k3+i)*(a7k1*10+a4k2+a1k3)*(a8k1*1000+a4k2+a3k2)*a9k1
*a9k2*a9k3*i
...
s6=(3*10+3+1)*(4*10+1+3)*(9*1000+1+4)*3*7*6*1
s6=1697406480
s6字串長度加倍疊加後16974064801697406480
根據通道10接龍儲存位和執行次數乘積631*1末位值1跳位擷取第1位後連續6位數字為新密碼
169740
使用者輸入10#169740比對密碼
如驗證正確,儲存s6=1697406480後3位為新的通道10的k值480並存儲該通道執行次數加1為2
如驗證錯誤,則提示核對裝置編號並返回通道原k值631與序數值並取a1末尾數,
a2末尾數a3末尾數生成長字串校驗631+0+0+2+1000 字元拼接1+0+0+2
163303
主機獲取校驗碼後,根據使用者許可權,及對應陣列和算式,可以重新計算出正確密碼,以校驗使用者獲取密碼但沒有使用的資料不同步現象。