日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
手機(jī)程序開發(fā):代碼儲(chǔ)存與數(shù)據(jù)庫(kù)掌握 (手機(jī)所有代碼數(shù)據(jù)庫(kù))

隨著移動(dòng)互聯(lián)網(wǎng)和智能手機(jī)的迅速普及,手機(jī)應(yīng)用程序的熱度也日益高漲。而作為手機(jī)應(yīng)用程序的開發(fā)者,不僅需要掌握框架和編程語(yǔ)言等基礎(chǔ)知識(shí),還需要了解如何儲(chǔ)存代碼和管理數(shù)據(jù),以確保程序的運(yùn)行穩(wěn)定和數(shù)據(jù)的安全性。因此,在本篇文章中我們將討論程序開發(fā)中的代碼儲(chǔ)存和數(shù)據(jù)庫(kù)掌握問題。

一、代碼儲(chǔ)存

1.版本控制

在進(jìn)行程序開發(fā)的過程中,我們經(jīng)常要經(jīng)歷多個(gè)版本的代碼,而這時(shí)就需要一個(gè)版本控制的工具來(lái)保留每個(gè)版本的代碼,方便修改和管理。目前比較流行的版本控制工具有Git、SVN、Mercurial等,其中Git是目前更流行的版本控制工具之一。

Git是一個(gè)開源的分布式版本控制工具,它能夠記錄每次代碼修改的內(nèi)容和時(shí)間,并將代碼保留在本地和云端,以便開發(fā)者在需要時(shí)能夠快速找到之前的代碼。使用Git,開發(fā)者可以創(chuàng)建新的分支來(lái)進(jìn)行代碼修改,同時(shí)能夠合并不同分支之間的代碼,在多人協(xié)作時(shí)非常方便。

2.代碼托管

代碼托管是將代碼儲(chǔ)存在專門的平臺(tái)上,以便多人協(xié)作開發(fā)、代碼備份以及版本控制方便。比較流行的代碼托管平臺(tái)有Github、Gitlab、Bitbucket等,其中Github是更受歡迎的一個(gè)。

Github是一個(gè)在線的代碼托管平臺(tái),開發(fā)者可以將代碼存放在自己的倉(cāng)庫(kù)中,并與其他開發(fā)者共享代碼。在Github上,開發(fā)者可以提交代碼、合并代碼、發(fā)布版本等操作,并可以通過Github Page來(lái)展示自己的項(xiàng)目。

二、數(shù)據(jù)庫(kù)掌握

1.關(guān)系型數(shù)據(jù)庫(kù)

在開發(fā)中,我們通常會(huì)使用關(guān)系型數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)應(yīng)用程序中的數(shù)據(jù),比如MySQL、Oracle、SQL Server等數(shù)據(jù)庫(kù)。關(guān)系型數(shù)據(jù)庫(kù)是使用表格來(lái)存儲(chǔ)和管理數(shù)據(jù)的,表格中有各自的字段和索引,使得數(shù)據(jù)的檢索和管理更加方便。

2.非關(guān)系型數(shù)據(jù)庫(kù)

除了關(guān)系型數(shù)據(jù)庫(kù),還有一類非關(guān)系型數(shù)據(jù)庫(kù)被稱為NoSQL數(shù)據(jù)庫(kù),它們?cè)谔幚泶罅糠墙Y(jié)構(gòu)化數(shù)據(jù)方面效率更高。比較流行的NoSQL數(shù)據(jù)庫(kù)有MongoDB、Redis、CouchDB等。

MongoDB是一個(gè)跨平臺(tái)的非關(guān)系型數(shù)據(jù)庫(kù)軟件,可用于存儲(chǔ)大量數(shù)據(jù)。與關(guān)系型數(shù)據(jù)庫(kù)相比,MongoDB更加靈活,它不需要設(shè)計(jì)復(fù)雜的關(guān)系表格,而是采用了基于ON格式的文檔存儲(chǔ)方式,使得存儲(chǔ)和查詢更加方便快捷。

3.數(shù)據(jù)庫(kù)遷移

在多人協(xié)作開發(fā)中,開發(fā)者經(jīng)常需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行升級(jí)和遷移。為了避免數(shù)據(jù)庫(kù)數(shù)據(jù)的丟失,開發(fā)者可以使用一些數(shù)據(jù)庫(kù)遷移工具來(lái)進(jìn)行數(shù)據(jù)遷移。比如MySQL Workbench、Flyway、Liquibase等。

MySQL Workbench是一個(gè)開源的MySQL數(shù)據(jù)庫(kù)管理工具,可以用于數(shù)據(jù)庫(kù)設(shè)計(jì)、數(shù)據(jù)庫(kù)維護(hù)以及數(shù)據(jù)庫(kù)遷移等操作。Flyway和Liquibase都是開源的數(shù)據(jù)庫(kù)遷移工具,可以幫助開發(fā)者輕松地遷移數(shù)據(jù)庫(kù),避免數(shù)據(jù)的丟失。

本文主要討論了程序開發(fā)中的代碼儲(chǔ)存和數(shù)據(jù)庫(kù)掌握問題。對(duì)于代碼儲(chǔ)存,我們可以使用版本控制工具和代碼托管平臺(tái)來(lái)進(jìn)行版本控制和代碼管理;對(duì)于數(shù)據(jù)庫(kù)掌握,我們需要了解關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)的特性,同時(shí)了解數(shù)據(jù)庫(kù)遷移工具的使用,以確保數(shù)據(jù)的安全和程序的穩(wěn)定性。希望本文對(duì)讀者在進(jìn)行程序開發(fā)時(shí)有所幫助。

相關(guān)問題拓展閱讀:

  • 加密/解密Android現(xiàn)有的數(shù)據(jù)庫(kù)使用SQLCipher問題,怎么解決

加密/解密Android現(xiàn)有的數(shù)據(jù)庫(kù)使用SQLCipher問題,怎么解決

針對(duì)sqlite數(shù)據(jù)庫(kù)文件,進(jìn)行加密。現(xiàn)有兩種方案如下:

1.對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行加密。

2.對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密

1.uin怎么獲???

這個(gè)uin不是登錄的帳號(hào),而是屬于內(nèi)部的、程序界面上不可見的一個(gè)編號(hào)。

至于查看,最簡(jiǎn)單的方法就是登錄web微信后,按F12打開網(wǎng)頁(yè)調(diào)試工具,然后ctrl+F搜索“uin”,可以找到一串長(zhǎng)長(zhǎng)的URL,里面的uin就是當(dāng)前登錄的微信的uin。

有一種方法就是配置文件里,導(dǎo)出的微信目錄下有幾個(gè)cfg文件,這幾個(gè)文件里有保存,不過是java的hashmap,怎么解析留給小伙伴們自己琢磨吧,

還有就是有朋友反應(yīng)退出微信(后臺(tái)運(yùn)行不叫退出)或者注銷微信后會(huì)清空這些配置信息,所以小伙伴們導(dǎo)出的時(shí)候記得在微信登陸狀態(tài)下導(dǎo)出。博主自己鼓搗了一

個(gè)小程序來(lái)完成解析。

2.一個(gè)手機(jī)多個(gè)登錄帳號(hào)怎么辦(沒有uin怎么辦)

據(jù)博主那個(gè)解密的帖子,必須知道串號(hào)和uin。串號(hào)好說(shuō),配置中一般都有可以搞到,uin從配置中讀取出來(lái)的時(shí)候只有當(dāng)前登錄的或者最后登錄的,其他的幾

個(gè)記錄都沒辦法解密。網(wǎng)上某軟件的解決方法是讓用戶一個(gè)一個(gè)登錄后再導(dǎo)出。這個(gè)解決方法在某些情況下是不可能的,或者有時(shí)候根本不知道uin。

后來(lái)經(jīng)過一個(gè)朋友的指點(diǎn),博主終于發(fā)現(xiàn)了解決方法,可敬廳以從配置中秒讀出來(lái)這個(gè)uin,這個(gè)方法暫時(shí)不透漏了,只是說(shuō)明下這個(gè)異常情況。

3.串號(hào)和uin怎么都正確的怎么還是沒辦法解密

說(shuō)說(shuō)串號(hào)這個(gè)玩意,幾個(gè)熱心的朋友反饋了這個(gè)問題,經(jīng)過博主測(cè)試發(fā)現(xiàn)不同的手機(jī)使用的不一定是IMEI,也可能是IMSI等等,而且串號(hào)也不一定是標(biāo)準(zhǔn)的

15位,可能是各種奇葩,比如輸入*#06#出來(lái)的是一個(gè),但是在微信程序里用的卻是另一個(gè)非常奇葩的東西,這種情況多在雙卡雙待和山寨機(jī)中出現(xiàn),經(jīng)過嚴(yán)

格的測(cè)試,現(xiàn)在已經(jīng)能做到精確識(shí)別,那幾位熱心的朋友也贈(zèng)與了不同的代碼表示鼓勵(lì)。

4.計(jì)算出來(lái)了正確的key為什么無(wú)法打開數(shù)據(jù)庫(kù)文件

信這個(gè)變態(tài)用的不是標(biāo)準(zhǔn)的sqlite數(shù)據(jù)庫(kù),那個(gè)帖子也提到了不是數(shù)據(jù)庫(kù)加密,是文件的內(nèi)容加密,其實(shí)是sqlcipher。官方上竟然還賣到

149$,不過倒是開放了源碼,水平夠高的可以自己嘗試編譯。google還能搜索到sqlcipher for

windows這個(gè)很好編譯,不過博主不知是長(zhǎng)相問題還是人品問題,編譯出來(lái)的無(wú)法打開微信的數(shù)據(jù)庫(kù),后來(lái)改了這份代碼才完成。

5.數(shù)據(jù)庫(kù)文件內(nèi)容是加密的,怎么還原

個(gè)是某些特殊情況下用到的,比如聊天記錄刪除了數(shù)據(jù)庫(kù)中就沒了,但是某個(gè)網(wǎng)友測(cè)試說(shuō)數(shù)據(jù)庫(kù)無(wú)法查詢出來(lái)了,但是在文件中還是有殘留的。這個(gè)情況我沒測(cè)試

過,不過想想感覺有這個(gè)可能,就跟硬盤上刪除了文件其實(shí)就是刪除了文件的硬盤索引,內(nèi)容還是殘留在硬盤上可以還原一樣,sqlite數(shù)據(jù)庫(kù)刪除的條目只是

抹去了索引,內(nèi)容還存在這個(gè)文件亮渣隱中。

網(wǎng)上的都是直接打開讀取,并沒有解密還原這個(gè)文件成普通的sqlite數(shù)據(jù)庫(kù),使用sqlcipher

的導(dǎo)出方法也只是將可查詢的內(nèi)容導(dǎo)出。后來(lái)博主花了時(shí)間通讀了內(nèi)容加密的方式,做了一個(gè)小程序?qū)⒓用艿奈募?nèi)容直接解密,不操作修改任何數(shù)據(jù),非數(shù)據(jù)庫(kù)轉(zhuǎn)

換,直接數(shù)據(jù)流解密,完全還原出來(lái)了原始的未加密的數(shù)據(jù)庫(kù)文件,大小不變,無(wú)內(nèi)容損失,可以直接用sqlite admin等工具直接打開。

6.已經(jīng)刪除的聊天內(nèi)容可以恢復(fù)么

通過上述第5的方式還原出原數(shù)據(jù)后,經(jīng)測(cè)試可以恢復(fù)。sqlite的刪除并不會(huì)從文件中徹底刪掉,而是抹掉索引,所以可以通過掃描原始文件恢復(fù)。前提是沒有重裝過微信。。。

兩種加密方式的優(yōu)缺點(diǎn),比較如下:

一、對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行加密

優(yōu)點(diǎn):

1.實(shí)現(xiàn)數(shù)據(jù)加密快速,只需添加兩個(gè)方法

一是:對(duì)明文數(shù)據(jù)進(jìn)行加密返回密文數(shù)據(jù)

二是:對(duì)密文數(shù)據(jù)進(jìn)行解密返回明文數(shù)據(jù)

2.程序無(wú)需進(jìn)行太大變動(dòng),僅在對(duì)數(shù)據(jù)進(jìn)行添加,修改,刪除,查詢時(shí)。針對(duì)指定的表字段進(jìn)行修改進(jìn)行加密,解密的字段即可。

不足:

1.由于對(duì)數(shù)據(jù)進(jìn)行了加密。所以為了看到明文,必須密文進(jìn)行解密。因此會(huì)增加處理器的消耗。因終端手機(jī)的梁改處理能力有限,可能會(huì)出現(xiàn)處理數(shù)據(jù)緩慢的現(xiàn)象發(fā)生。

2.僅僅對(duì)數(shù)據(jù)進(jìn)行了加密,還是可以看到數(shù)據(jù)表的sql語(yǔ)句,可能猜測(cè)到表的作用。另外,如果沒有對(duì)一個(gè)表中的所有字段加密,則可以看沒有加密的明文數(shù)據(jù)。

需要做的工作:

1.無(wú)需考慮平臺(tái)差異性,qt,android,ios都能快速的實(shí)現(xiàn)。只需在每個(gè)平臺(tái)上,使用各自的語(yǔ)言,實(shí)現(xiàn)同樣的加密,解密算法即可。

2.需要對(duì)加密算法進(jìn)行了解,選擇一種加密算法,進(jìn)行實(shí)現(xiàn)。

二、對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密

優(yōu)點(diǎn):

1.對(duì)整個(gè)文件進(jìn)行了加密,用戶通過編輯器看不到任何有用的數(shù)據(jù),用戶使用sqlite browser軟件也無(wú)法打開文件查看數(shù)據(jù),保證了數(shù)據(jù)安全。

2.進(jìn)行打開數(shù)據(jù)庫(kù)時(shí),使用程序sqlite3_key(db,”********”,8);即可對(duì)文件解密,對(duì)數(shù)據(jù)表的操作無(wú)需進(jìn)行加密,采用明文即可。

不足:

1.需要修改sqlite的源代碼,這個(gè)工作難度比較大。

2.需要對(duì)修改后的sqlite進(jìn)行編譯,需要對(duì)makefile有所了解,手動(dòng)編寫makefile文件,對(duì)源程序進(jìn)行編譯。因平臺(tái)差異性,可能會(huì)造成某個(gè)平臺(tái)無(wú)法編譯生成動(dòng)態(tài)鏈接庫(kù)的可能。

3.需要對(duì)數(shù)據(jù)訪問層代碼進(jìn)行修改,例如qt平臺(tái)需要將以前對(duì)數(shù)據(jù)庫(kù)操作使用的QSqlQuery類,更改為使用sqlite3.h文件中定義操作,對(duì)數(shù)據(jù)庫(kù)操作。其他平臺(tái)也一樣,都要做這一步的修改。

4.在程序編譯時(shí),要加入使用加密的動(dòng)態(tài)鏈接庫(kù)(linux為共享庫(kù).so文件)windows平臺(tái)最容易,只需將所使用的dll文件copy到應(yīng)用程序中即可。其他平臺(tái)需要實(shí)驗(yàn),看如何引入庫(kù),如果編譯。

需要做的工作:

1.修改sqlite源代碼,追加對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密的功能。

2.編譯含有加密功能的程序源代碼,生成各自平臺(tái)需要使用的庫(kù)文件。

3.將加密sqlite庫(kù)文件引入各自平臺(tái)中,修改數(shù)據(jù)庫(kù)訪問層代碼。

4.進(jìn)行程序的部署,測(cè)試。

三、數(shù)據(jù)庫(kù)加密原理

目前主流的數(shù)據(jù)庫(kù)都采用了各種安全措施,主要包括用戶認(rèn)證、訪問控制、數(shù)據(jù)加密存儲(chǔ)和數(shù)據(jù)庫(kù)操作審計(jì)等措施。

用戶認(rèn)證:用戶或者程序向數(shù)據(jù)庫(kù)提供自己的有效身份證明,數(shù)據(jù)庫(kù)鑒別用戶的身份是否合法,只有合法的用戶才能存取數(shù)據(jù)

庫(kù)中的數(shù)據(jù)。用戶認(rèn)證是所有安全機(jī)制的前提,只有通過認(rèn)證才能進(jìn)行授權(quán)訪問和審計(jì)。

訪問控制:數(shù)據(jù)庫(kù)管理系統(tǒng)為不同的用戶分配不同的權(quán)限,保證用戶只能進(jìn)行授權(quán)的訪問。目前,一些大型數(shù)據(jù)庫(kù)(如Oracle 等)

都采用了基于角色的訪問控制機(jī)制,即為用戶授予不同的角色,如db—owner,security administrator 等,不同的角色允許對(duì)數(shù)據(jù)庫(kù)執(zhí)行不同的操作。

數(shù)據(jù)庫(kù)加密:用戶認(rèn)證以及訪問控制對(duì)訪問數(shù)據(jù)庫(kù)進(jìn)行了控制,但攻擊者可能會(huì)利用操作系統(tǒng)或數(shù)據(jù)庫(kù)漏洞,或物理接觸計(jì)算機(jī),而直接接觸數(shù)據(jù)庫(kù)系統(tǒng)文件,從而可能繞過身份認(rèn)證和存取控制而直接竊取或篡改數(shù)據(jù)庫(kù)內(nèi)容。對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行加密是防范這類威脅的有效手段。

數(shù)據(jù)庫(kù)操作審計(jì):監(jiān)視和記錄用戶對(duì)數(shù)據(jù)庫(kù)所做的各種操作的安全機(jī)制,它記錄并存儲(chǔ)用戶的操作,用于事后分析,以檢查導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)狀的原因以及提供追蹤攻擊者的線索。數(shù)據(jù)庫(kù)的備份與恢復(fù):當(dāng)數(shù)據(jù)庫(kù)發(fā)生不可恢復(fù)的故障時(shí),可以將數(shù)據(jù)庫(kù)恢復(fù)到先前的某個(gè)一致性的狀態(tài)。

四、SQLite 加密

由于SQLite 是開放源碼的,并且在其源碼中預(yù)留了加密接口,我們可以通過實(shí)現(xiàn)其預(yù)留的加密接口實(shí)現(xiàn)口令認(rèn)證和數(shù)據(jù)庫(kù)加密以完善其加密機(jī)制。

1.口令認(rèn)證

SQLite 數(shù)據(jù)庫(kù)文件是一個(gè)普通文本文件,對(duì)它的訪問首先依賴于文件的訪問控制。在此基礎(chǔ)上,再增加進(jìn)一步的口令認(rèn)證,即在訪問數(shù)據(jù)庫(kù)時(shí)必須提供正確的口令,如果通過認(rèn)證就可以對(duì)數(shù)據(jù)庫(kù)執(zhí)行創(chuàng)建、查詢、修改、插入、刪除和修改等操作;否則,不允許進(jìn)一步的訪問。

關(guān)于手機(jī)所有代碼數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都服務(wù)器托管選創(chuàng)新互聯(lián),先上架開通再付費(fèi)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)-網(wǎng)站建設(shè),軟件開發(fā)老牌服務(wù)商!微信小程序開發(fā),APP開發(fā),網(wǎng)站制作,網(wǎng)站營(yíng)銷推廣服務(wù)眾多企業(yè)。電話:028-86922220


網(wǎng)站題目:手機(jī)程序開發(fā):代碼儲(chǔ)存與數(shù)據(jù)庫(kù)掌握 (手機(jī)所有代碼數(shù)據(jù)庫(kù))
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/djjdhde.html