SHA-1 Algorythmus
Übersicht

![]() |
Xaymarehemals "Cgamer"Betreff: SHA-1 Algorythmus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Ich benötige derzeit für meine Anwendung den Sha-1 algorythmus, den ich bisher nur für bmax auf blitzbasic.com gefunden habe. Hat den wer für BB? wäre nett wenn er diesen posten würde. (Für Key und Passwörter verschlüsseln) |
||
Warbseite |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wikipedia kennt ihn, und du kannst ihn nachprogrammieren:
http://de.wikipedia.org/wiki/Secure_Hash_Algorithm Jedoch Achtung: Der Hash wurde geknackt! Wenn du ein Passwort in einer DB speichern willst, nimm MD5. MfG |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist eigentlich für MySQl gedacht, da es bei der passwort übergabe SHA-1 verwendet(mit hash?!?)
hier mal ein wenig Code wie weit ich bin, das von wikipedia braucht 64bit. mir fällt auf anhieb nicht ein wie man es lösen könnte. Code: [AUSKLAPPEN] Graphics 800,600,0,2
msec = MilliSecs() TCPS = OpenTCPStream("localhost", 3306) Print "Msec taken to connect: "+(MilliSecs()-msec) If TCPS <> 0 Delay 100 If Not Eof(TCPS) ;Basics BodyLength = ReadInt24New(TCPS) Packet = ReadByte(TCPS) Protocol = ReadByte(TCPS) ;MySql MySQLV$ = ReadStringNew(TCPS) ThreadID = ReadInt32New(TCPS) SaltP1$ = ReadStringNew(TCPS) Flags = ReadShortNew(TCPS) Charset = ReadByte(TCPS) Status = ReadShortNew(TCPS) For A = 0 To 12 ;13 unused Bytes ReadByte(TCPS) Next SaltP2$ = ReadStringNew(TCPS) Print "Body Length: "+BodyLength Print "Packet Nr: "+Packet Print "Protocol: "+Protocol Print "MySQL Version: "+MySQLV$ Print "Thread ID: "+ThreadID Print "Salt Part 1: "+SaltP1$ Print "Flags: "+Flags Print "Buchstaben-Set: "+Charset Print "Status: "+Status Print "Salt Part 2: "+SaltP2$ ;Authenticate pw = Sha1(Pass$, SaltP1$+SaltP2$) pwlen = Len(pw) WriteInt24New TCPS, 1+4+4+1+23+Len(User$)+1+1+pwlen WriteByte TCPS, 1 WriteInt32New TCPS, (1+4+8192+512+1024+128+65536+131072) WriteInt32New TCPS, 16*1024*1024 WriteByte TCPS, 31 For A = 0 To 23 WriteByte TCPS, 0 Next WriteStringNew TCPS, User$ WriteByte TCPS, pwlen writeStringNew TCPS, EndIf WriteLine TCPS, "QUIT" CloseTCPStream TCPS WaitKey() End Else Print "Could not connect." WaitKey() End EndIf ;Flags: ;LONG_PASSWORD 1 New more secure passwords ;FOUND_ROWS 2 Found instead of affected rows ;LONG_FLAG 4 Get all column flags ;CONNECT_WITH_DB 8 One can specify db on connect ;NO_SCHEMA 16 Don't allow database.table.column ;COMPRESS 32 Can use compression protocol ;ODBC 64 ODBC client ;LOCAL_FILES 128 Can use LOAD Data Local ;IGNORE_SPACE 256 Ignore spaces Before '(' ;PROTOCOL_41 512 Support the 4.1 protocol ;INTERACTIVE 1024 This is an interactive client ;SSL 2048 Switch To SSL After handshake ;IGNORE_SIGPIPE 4096 IGNORE sigpipes ;TRANSACTIONS 8192 Client knows about transactions ;SECURE_CONNECTION 32768 New 4.1 authentication ;MULTI_STATEMENTS 65536 Multi-statement support ;MULTI_RESULTS 131072 Multi-results ;Charsets: ;big5_chinese_ci 1 latin1_general_cs 49 ;latin2_czech_cs 2 cp1251_bin 50 ;dec8_swedish_ci 3 cp1251_general_ci 51 ;cp850_general_ci 4 cp1251_general_cs 52 ;latin1_german1_ci 5 macroman_bin 53 ;hp8_english_ci 6 macroman_ci 54 ;koi8r_general_ci 7 macroman_ci_ai 55 ;latin1_swedish_ci 8 macroman_cs 56 ;latin2_general_ci 9 cp1256_general_ci 57 ;swe7_swedish_ci 10 cp1257_bin 58 ;ascii_general_ci 11 cp1257_general_ci 59 ;ujis_japanese_ci 12 cp1257_ci 60 ;sjis_japanese_ci 13 cp1257_cs 61 ;cp1251_bulgarian_ci 14 binary 63 ;latin1_danish_ci 15 armscii8_bin 64 ;hebrew_general_ci 16 ascii_bin 65 ;tis620_thai_ci 18 cp1250_bin 66 ;euckr_korean_ci 19 cp1256_bin 67 ;latin7_estonian_cs 20 cp866_bin 68 ;latin2_hungarian_ci 21 dec8_bin 69 ;koi8u_general_ci 22 greek_bin 70 ;cp1251_ukrainian_ci 23 hebrew_bin 71 ;gb2312_chinese_ci 24 hp8_bin 72 ;greek_general_ci 25 keybcs2_bin 73 ;cp1250_general_ci 26 koi8r_bin 74 ;latin2_croatian_ci 27 koi8u_bin 75 ;gbk_chinese_ci 28 latin2_bin 77 ;cp1257_lithuanian_ci 29 latin5_bin 78 ;latin5_turkish_ci 30 latin7_bin 79 ;latin1_german2_ci 31 cp850_bin 80 ;armscii8_general_ci 32 cp852_bin 81 ;utf8_general_ci 33 swe7_bin 82 ;cp1250_czech_cs 34 utf8_bin 83 ;ucs2_general_ci 35 big5_bin 84 ;cp866_general_ci 36 euckr_bin 85 ;keybcs2_general_ci 37 gb2312 86 ;macce_general_ci 38 gbk_bin 87 ;macroman_general_ci 39 sjis_bin 88 ;cp852_general_ci 40 tis620_bin 89 ;latin7_general_ci 41 ucs2_bin 90 ;latin7_general_cs 42 ujis_bin 91 ;macce_bin 43 geostd8_general_ci 92 ;latin1_bin 47 geostd8_bin 93 ;latin1_general_ci 48 latin1_spanish_ci 94 ;Status Codes: ;IN_TRANS 1 ;AUTOCOMMIT 2 ;MORE_RESULTS 4 ;MORE_RESULTS_EXISTS 8 ;QUERY_NO_GOOD_INDEX_USED 16 ;QUERY_NO_INDEX_USED 32 ;Commands: ;Command Code Arguments Allowed from client ;SLEEP 0 No ;QUIT 1 "" Yes ;INIT_DB 2 db Yes ;QUERY 3 query Yes ;FIELD_LIST 4 table Yes ;CREATE_DB 5 db Yes ;DROP_DB 6 db Yes ;REFRESH 7 option bits Yes ;SHUTDOWN 8 level (optional) Yes ;STATISTICS 9 Yes ;PROCESS_INFO 10 Yes ;CONNECT 11 No ;PROCESS_KILL 12 4-byte pid Yes ;DEBUG 13 Yes ;PING 14 Yes ;TIME 15 No ;DELAYED_INSERT 16 No ;CHANGE_USER 17 user Yes ;BINLOG_DUMP 18 Yes ;TABLE_DUMP 19 Yes ;CONNECT_OUT 20 No ;REGISTER_SLAVE 21 No ;PREPARE 22 query Yes ;EXECUTE 23 statement; params Yes ;LONG_DATA 24 statement; parameter; data Yes ;CLOSE_STMT 25 statement Yes ;RESET_STMT 26 statement Yes ;SET_OPTION 27 2 byte flags Yes ;Field Types: ;DECIMAL 0 ;TINY 1 ;SHORT 2 ;LONG 3 ;Float 4 ;DOUBLE 5 ;Null 6 ;TIMESTAMP 7 ;LONGLONG 8 ;INT24 9 ;DATE 10 ;TIME 11 ;DATETIME 12 ;YEAR 13 ;NEWDATE 14 ;ENUM 247 ;SET 248 ;TINY_BLOB 249 ;MEDIUM_BLOB 250 ;LONG_BLOB 251 ;BLOB 252 ;VAR_STRING 253 ;String 254 ;GEOMETRY 255 ;Field Flags: ;NOT_NULL 1 Field can't be NULL ;PRI_KEY 2 Field is part of a primary key ;UNIQUE_KEY 4 Field is part of a unique key ;MULTIPLE_KEY 8 Field is part of a key ;BLOB 16 Field is a blob ;UNSIGNED 32 Field is unsigned ;ZEROFILL 64 Field is zerofill ;BINARY 128 Field is binary ;ENUM 256 Field is an enum ;AUTO_INCREMENT 512 Field is an autoincrement Field ;TIMESTAMP 1024 Field is a timestamp ;SET 2048 Field is a set ;NUM 32768 Field is num (For clients) ;Error Codes: ;HASHCHK 1000 ABORTING_CONNECTION 1152 ;NISAMCHK 1001 NET_PACKET_TOO_LARGE 1153 ;NO 1002 NET_READ_ERROR_FROM_PIPE 1154 ;YES 1003 NET_FCNTL_ERROR 1155 ;CANT_CREATE_FILE 1004 NET_PACKETS_OUT_OF_ORDER 1156 ;CANT_CREATE_TABLE 1005 NET_UNCOMPRESS_ERROR 1157 ;CANT_CREATE_DB 1006 NET_READ_ERROR 1158 ;DB_CREATE_EXISTS 1007 NET_READ_INTERRUPTED 1159 ;DB_DROP_EXISTS 1008 NET_ERROR_ON_WRITE 1160 ;DB_DROP_DELETE 1009 NET_WRITE_INTERRUPTED 1161 ;DB_DROP_RMDIR 1010 TOO_LONG_STRING 1162 ;CANT_DELETE_FILE 1011 TABLE_CANT_HANDLE_BLOB 1163 ;CANT_FIND_SYSTEM_REC 1012 TABLE_CANT_HANDLE_AUTO_INCREMENT 1164 ;CANT_GET_STAT 1013 DELAYED_INSERT_TABLE_LOCKED 1165 ;CANT_GET_WD 1014 WRONG_COLUMN_NAME 1166 ;CANT_LOCK 1015 WRONG_KEY_COLUMN 1167 ;CANT_OPEN_FILE 1016 WRONG_MRG_TABLE 1168 ;FILE_NOT_FOUND 1017 DUP_UNIQUE 1169 ;CANT_READ_DIR 1018 BLOB_KEY_WITHOUT_LENGTH 1170 ;CANT_SET_WD 1019 PRIMARY_CANT_HAVE_NULL 1171 ;CHECKREAD 1020 TOO_MANY_ROWS 1172 ;DISK_FULL 1021 REQUIRES_PRIMARY_KEY 1173 ;DUP_KEY 1022 NO_RAID_COMPILED 1174 ;ERROR_ON_CLOSE 1023 UPDATE_WITHOUT_KEY_IN_SAFE_MODE 1175 ;ERROR_ON_READ 1024 KEY_DOES_NOT_EXITS 1176 ;ERROR_ON_RENAME 1025 CHECK_NO_SUCH_TABLE 1177 ;ERROR_ON_WRITE 1026 CHECK_NOT_IMPLEMENTED 1178 ;FILE_USED 1027 CANT_DO_THIS_DURING_AN_TRANSACTION 1179 ;FILSORT_ABORT 1028 ERROR_DURING_COMMIT 1180 ;FORM_NOT_FOUND 1029 ERROR_DURING_ROLLBACK 1181 ;GET_ERRNO 1030 ERROR_DURING_FLUSH_LOGS 1182 ;ILLEGAL_HA 1031 ERROR_DURING_CHECKPOINT 1183 ;KEY_NOT_FOUND 1032 NEW_ABORTING_CONNECTION 1184 ;NOT_FORM_FILE 1033 DUMP_NOT_IMPLEMENTED 1185 ;NOT_KEYFILE 1034 FLUSH_MASTER_BINLOG_CLOSED 1186 ;OLD_KEYFILE 1035 INDEX_REBUILD 1187 ;OPEN_AS_READONLY 1036 MASTER 1188 ;OUTOFMEMORY 1037 MASTER_NET_READ 1189 ;OUT_OF_SORTMEMORY 1038 MASTER_NET_WRITE 1190 ;UNEXPECTED_EOF 1039 FT_MATCHING_KEY_NOT_FOUND 1191 ;CON_COUNT_ERROR 1040 LOCK_OR_ACTIVE_TRANSACTION 1192 ;OUT_OF_RESOURCES 1041 UNKNOWN_SYSTEM_VARIABLE 1193 ;BAD_HOST_ERROR 1042 CRASHED_ON_USAGE 1194 ;HANDSHAKE_ERROR 1043 CRASHED_ON_REPAIR 1195 ;DBACCESS_DENIED_ERROR 1044 WARNING_NOT_COMPLETE_ROLLBACK 1196 ;ACCESS_DENIED_ERROR 1045 TRANS_CACHE_FULL 1197 ;NO_DB_ERROR 1046 SLAVE_MUST_STOP 1198 ;UNKNOWN_COM_ERROR 1047 SLAVE_NOT_RUNNING 1199 ;BAD_NULL_ERROR 1048 BAD_SLAVE 1200 ;BAD_DB_ERROR 1049 MASTER_INFO 1201 ;TABLE_EXISTS_ERROR 1050 SLAVE_THREAD 1202 ;BAD_TABLE_ERROR 1051 TOO_MANY_USER_CONNECTIONS 1203 ;NON_UNIQ_ERROR 1052 SET_CONSTANTS_ONLY 1204 ;SERVER_SHUTDOWN 1053 LOCK_WAIT_TIMEOUT 1205 ;BAD_FIELD_ERROR 1054 LOCK_TABLE_FULL 1206 ;WRONG_FIELD_WITH_GROUP 1055 READ_ONLY_TRANSACTION 1207 ;WRONG_GROUP_FIELD 1056 DROP_DB_WITH_READ_LOCK 1208 ;WRONG_SUM_SELECT 1057 CREATE_DB_WITH_READ_LOCK 1209 ;WRONG_VALUE_COUNT 1058 WRONG_ARGUMENTS 1210 ;TOO_LONG_IDENT 1059 NO_PERMISSION_TO_CREATE_USER 1211 ;DUP_FIELDNAME 1060 UNION_TABLES_IN_DIFFERENT_DIR 1212 ;DUP_KEYNAME 1061 LOCK_DEADLOCK 1213 ;DUP_ENTRY 1062 TABLE_CANT_HANDLE_FT 1214 ;WRONG_FIELD_SPEC 1063 CANNOT_ADD_FOREIGN 1215 ;PARSE_ERROR 1064 NO_REFERENCED_ROW 1216 ;EMPTY_QUERY 1065 ROW_IS_REFERENCED 1217 ;NONUNIQ_TABLE 1066 CONNECT_TO_MASTER 1218 ;INVALID_DEFAULT 1067 QUERY_ON_MASTER 1219 ;MULTIPLE_PRI_KEY 1068 ERROR_WHEN_EXECUTING_COMMAND 1220 ;TOO_MANY_KEYS 1069 WRONG_USAGE 1221 ;TOO_MANY_KEY_PARTS 1070 WRONG_NUMBER_OF_COLUMNS_IN_SELECT 1222 ;TOO_LONG_KEY 1071 CANT_UPDATE_WITH_READLOCK 1223 ;KEY_COLUMN_DOES_NOT_EXITS 1072 MIXING_NOT_ALLOWED 1224 ;BLOB_USED_AS_KEY 1073 DUP_ARGUMENT 1225 ;TOO_BIG_FIELDLENGTH 1074 USER_LIMIT_REACHED 1226 ;WRONG_AUTO_KEY 1075 SPECIFIC_ACCESS_DENIED_ERROR 1227 ;READY 1076 LOCAL_VARIABLE 1228 ;NORMAL_SHUTDOWN 1077 GLOBAL_VARIABLE 1229 ;GOT_SIGNAL 1078 NO_DEFAULT 1230 ;SHUTDOWN_COMPLETE 1079 WRONG_VALUE_FOR_VAR 1231 ;FORCING_CLOSE 1080 WRONG_TYPE_FOR_VAR 1232 ;IPSOCK_ERROR 1081 VAR_CANT_BE_READ 1233 ;NO_SUCH_INDEX 1082 CANT_USE_OPTION_HERE 1234 ;WRONG_FIELD_TERMINATORS 1083 NOT_SUPPORTED_YET 1235 ;BLOBS_AND_NO_TERMINATED 1084 MASTER_FATAL_ERROR_READING_BINLOG 1236 ;TEXTFILE_NOT_READABLE 1085 SLAVE_IGNORED_TABLE 1237 ;FILE_EXISTS_ERROR 1086 INCORRECT_GLOBAL_LOCAL_VAR 1238 ;LOAD_INFO 1087 WRONG_FK_DEF 1239 ;ALTER_INFO 1088 KEY_REF_DO_NOT_MATCH_TABLE_REF 1240 ;WRONG_SUB_KEY 1089 OPERAND_COLUMNS 1241 ;CANT_REMOVE_ALL_FIELDS 1090 SUBQUERY_NO_1_ROW 1242 ;CANT_DROP_FIELD_OR_KEY 1091 UNKNOWN_STMT_HANDLER 1243 ;INSERT_INFO 1092 CORRUPT_HELP_DB 1244 ;UPDATE_TABLE_USED 1093 CYCLIC_REFERENCE 1245 ;NO_SUCH_THREAD 1094 AUTO_CONVERT 1246 ;KILL_DENIED_ERROR 1095 ILLEGAL_REFERENCE 1247 ;NO_TABLES_USED 1096 DERIVED_MUST_HAVE_ALIAS 1248 ;TOO_BIG_SET 1097 SELECT_REDUCED 1249 ;NO_UNIQUE_LOGFILE 1098 TABLENAME_NOT_ALLOWED_HERE 1250 ;TABLE_NOT_LOCKED_FOR_WRITE 1099 NOT_SUPPORTED_AUTH_MODE 1251 ;TABLE_NOT_LOCKED 1100 SPATIAL_CANT_HAVE_NULL 1252 ;BLOB_CANT_HAVE_DEFAULT 1101 COLLATION_CHARSET_MISMATCH 1253 ;WRONG_DB_NAME 1102 SLAVE_WAS_RUNNING 1254 ;WRONG_TABLE_NAME 1103 SLAVE_WAS_NOT_RUNNING 1255 ;TOO_BIG_SELECT 1104 TOO_BIG_FOR_UNCOMPRESS 1256 ;UNKNOWN_ERROR 1105 ZLIB_Z_MEM_ERROR 1257 ;UNKNOWN_PROCEDURE 1106 ZLIB_Z_BUF_ERROR 1258 ;WRONG_PARAMCOUNT_TO_PROCEDURE 1107 ZLIB_Z_DATA_ERROR 1259 ;WRONG_PARAMETERS_TO_PROCEDURE 1108 CUT_VALUE_GROUP_CONCAT 1260 ;UNKNOWN_TABLE 1109 WARN_TOO_FEW_RECORDS 1261 ;FIELD_SPECIFIED_TWICE 1110 WARN_TOO_MANY_RECORDS 1262 ;INVALID_GROUP_FUNC_USE 1111 WARN_NULL_TO_NOTNULL 1263 ;UNSUPPORTED_EXTENSION 1112 WARN_DATA_OUT_OF_RANGE 1264 ;TABLE_MUST_HAVE_COLUMNS 1113 WARN_DATA_TRUNCATED 1265 ;RECORD_FILE_FULL 1114 WARN_USING_OTHER_HANDLER 1266 ;UNKNOWN_CHARACTER_SET 1115 CANT_AGGREGATE_2COLLATIONS 1267 ;TOO_MANY_TABLES 1116 DROP_USER 1268 ;TOO_MANY_FIELDS 1117 REVOKE_GRANTS 1269 ;TOO_BIG_ROWSIZE 1118 CANT_AGGREGATE_3COLLATIONS 1270 ;STACK_OVERRUN 1119 CANT_AGGREGATE_NCOLLATIONS 1271 ;WRONG_OUTER_JOIN 1120 VARIABLE_IS_NOT_STRUCT 1272 ;NULL_COLUMN_IN_INDEX 1121 UNKNOWN_COLLATION 1273 ;CANT_FIND_UDF 1122 SLAVE_IGNORED_SSL_PARAMS 1274 ;CANT_INITIALIZE_UDF 1123 SERVER_IS_IN_SECURE_AUTH_MODE 1275 ;UDF_NO_PATHS 1124 WARN_FIELD_RESOLVED 1276 ;UDF_EXISTS 1125 BAD_SLAVE_UNTIL_COND 1277 ;CANT_OPEN_LIBRARY 1126 MISSING_SKIP_SLAVE 1278 ;CANT_FIND_DL_ENTRY 1127 UNTIL_COND_IGNORED 1279 ;FUNCTION_NOT_DEFINED 1128 WRONG_NAME_FOR_INDEX 1280 ;HOST_IS_BLOCKED 1129 WRONG_NAME_FOR_CATALOG 1281 ;HOST_NOT_PRIVILEGED 1130 WARN_QC_RESIZE 1282 ;PASSWORD_ANONYMOUS_USER 1131 BAD_FT_COLUMN 1283 ;PASSWORD_NOT_ALLOWED 1132 UNKNOWN_KEY_CACHE 1284 ;PASSWORD_NO_MATCH 1133 WARN_HOSTNAME_WONT_WORK 1285 ;UPDATE_INFO 1134 UNKNOWN_STORAGE_ENGINE 1286 ;CANT_CREATE_THREAD 1135 WARN_DEPRECATED_SYNTAX 1287 ;WRONG_VALUE_COUNT_ON_ROW 1136 NON_UPDATABLE_TABLE 1288 ;CANT_REOPEN_TABLE 1137 FEATURE_DISABLED 1289 ;INVALID_USE_OF_NULL 1138 OPTION_PREVENTS_STATEMENT 1290 ;REGEXP_ERROR 1139 DUPLICATED_VALUE_IN_TYPE 1291 ;MIX_OF_GROUP_FUNC_AND_FIELDS 1140 TRUNCATED_WRONG_VALUE 1292 ;NONEXISTING_GRANT 1141 TOO_MUCH_AUTO_TIMESTAMP_COLS 1293 ;TABLEACCESS_DENIED_ERROR 1142 INVALID_ON_UPDATE 1294 ;COLUMNACCESS_DENIED_ERROR 1143 UNSUPPORTED_PS 1295 ;ILLEGAL_GRANT_FOR_TABLE 1144 GET_ERRMSG 1296 ;GRANT_WRONG_HOST_OR_USER 1145 GET_TEMPORARY_ERRMSG 1297 ;NO_SUCH_TABLE 1146 UNKNOWN_TIME_ZONE 1298 ;NONEXISTING_TABLE_GRANT 1147 WARN_INVALID_TIMESTAMP 1299 ;NOT_ALLOWED_COMMAND 1148 INVALID_CHARACTER_STRING 1300 ;SYNTAX_ERROR 1149 WARN_ALLOWED_PACKET_OVERFLOWED 1301 ;DELAYED_CANT_CHANGE_LOCK 1150 CONFLICTING_DECLARATIONS 1302 ;TOO_MANY_DELAYED_THREADS 1151 Function WriteStringNew(Stream, Strng$) If Stream <> 0 Ln = Len(Strng$) For Pos = 1 To Ln WriteByte Stream, Asc(Mid(Strng$, Pos, 1)) Next WriteByte Stream, 0 Return 1 Else Return 0 EndIf End Function Function WriteFloatNew(F#) ;NOT REALLY WORKING(Min=.00000001/0, Max= UNKNOWN) If Stream <> 0 Byte1 = F# And $FF Byte2 = ((F# And $FF00) Shl 8) Byte3 = ((F# And $FF0000) Shl 16) Byte4 = ((F# And $FF000000) Shl 24) WriteByte Stream, Byte1 WriteByte Stream, Byte2 WriteByte Stream, Byte3 WriteByte Stream, Byte4 Return 1 Else Return 0 EndIf End Function Function WriteInt32New(Stream, Int32) ;Min=0, Max=4294967296 If Stream <> 0 ;BB: Min=-2147483647, Max=2147483648 (Not Sure) Byte1 = Int32 And $FF Byte2 = ((Int32 And $FF00) Shl 8) Byte3 = ((Int32 And $FF0000) Shl 16) Byte4 = ((Int32 And $FF000000) Shl 24) WriteByte Stream, Byte1 WriteByte Stream, Byte2 WriteByte Stream, Byte3 WriteByte Stream, Byte4 Return 1 Else Return 0 EndIf End Function Function WriteInt24New(Stream, Int24) ;Min=0, Max=16777216 If Stream <> 0 ;BB: Min=-8388607, Max=8388608 (Not Sure) Byte1 = Int32 And $FF Byte2 = ((Int32 And $FF00) Shl 8) Byte3 = ((Int32 And $FF0000) Shl 16) WriteByte Stream, Byte1 WriteByte Stream, Byte2 WriteByte Stream, Byte3 Return 1 Else Return 0 EndIf End Function Function WriteShortNew(Stream, Short) ;Min=0, Max=65535 If Stream <> 0 ;BB: Min=-32767, Max=32768 (Not Sure) Byte1 = Int32 And $FF Byte2 = ((Int32 And $FF00) Shl 8) WriteByte Stream, Byte1 WriteByte Stream, Byte2 Return 1 Else Return 0 EndIf End Function Function ReadStringNew$(Stream) While Not Eof(Stream) Byte = ReadByte(Stream) If Byte > 0 Out$ = Out$ + Chr(Byte) Else Return Out$ EndIf Wend Return -1 End Function Function ReadFloatNew#(Stream) ;NOT REALLY WORKING(Min=0, Max=UNKNOWN) Byte1 = ReadByte(Stream) Byte2 = ReadByte(Stream) Byte3 = ReadByte(Stream) Byte4 = ReadByte(Stream) F# = (Byte4 Shr 24) Or (Byte3 Shr 16) Or (Byte2 Or 8) Or Byte1 Return F# End Function Function ReadInt32New(Stream) ;Min=0, Max=2147483648 Byte1 = ReadByte(Stream) ;BB: Min=-2147483648, Max=2147483647 (Not Sure) Byte2 = ReadByte(Stream) Byte3 = ReadByte(Stream) Byte4 = ReadByte(Stream) Integ = (Byte4 Shr 24) Or (Byte3 Shr 16) Or (Byte2 Or 8) Or Byte1 Return Integ End Function Function ReadInt24New(Stream) ;Min=0, Max=16777216 Byte1 = ReadByte(Stream) ;BB: Min=-8388607, Max=8388608 (Not Sure) Byte2 = ReadByte(Stream) Byte3 = ReadByte(Stream) Integ = (Byte3 Shr 16) Or (Byte2 Shr 8) Or Byte1 Return Integ End Function Function ReadShortNew(Stream) ;Min=0, Max=65535 Byte1 = ReadByte(Stream) ;BB: Min=-32767, Max=32768 (Not Sure) Byte2 = ReadByte(Stream) Short = (Byte2 Shr 8) Or Byte1 Return Short End Function ^Dazu brauch ich Sha-1^ *EDIT* http://blitzbasic.com/codearcs...?code=1449 was ist der ".." Operator? Was macht dieser? |
||
Warbseite |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie wärs den mit Blofish?
kannste auch auf Wikipedia finden! MFG ComNik |
||
WIP: Vorx.Engine |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
wär schon wenn ich den in MySQL nutzen könnte xD
MySQL will leider SHA-1 verschlüsselung von Passwörtern |
||
Warbseite |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
The_Nici hat Folgendes geschrieben: Wikipedia kennt ihn, und du kannst ihn nachprogrammieren:
http://de.wikipedia.org/wiki/Secure_Hash_Algorithm Jedoch Achtung: Der Hash wurde geknackt! Wenn du ein Passwort in einer DB speichern willst, nimm MD5. MfG 1.) Wenn ein Algo geknackt ist, dann ganz sicher MD5, und nicht SHA1. 2.) Wenn man gesalzene SHA1-Hashes verwendet, sind dieser absolut sicher 3.) Muste echt lachen, dass jemand sagt, SHA1 sei unsicher, und ausgerechnet das noch viel unsichere MD5 empfiehlt. Meinst du vllt. SHA0, den vorgänger von SHA1? Rainbowtables gibts für alle hashes, und zurückrechnen kann man keinen. Die Tables für MD5 sind nur um einiges vollständiger als die für SHA1. SHA1 ist und bleibt eine sehr gute wahl in sachen hashes, auch wenn man das neue SHA512 bevorzugen sollte, wo es geht. |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
kennt sich jemand mit blitzmax aus? ich hatte nämlich gefragt was der .. Operator macht. | ||
Warbseite |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Prinzipiell garnichts, er sagt nur, dass es in der nächsten zeile weitergeht als wär da kein Zeilenumbruch gewesen. | ||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm dann macht die zuweisung ja gar keinen sinn...
Code: [AUSKLAPPEN] chunkStart..chunkStart + 16
|
||
Warbseite |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Steht das vielleicht in eckigen Klamern? Dann wird das array von Chunkstart bis Chunkstart +16 geslized. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn ich mal so nebenbei fragen darf:
Was interessiert es eigentlich MySQL, welchen Hash-Algo du innerhalb deines Programms verwendest? Ich glaube, irgendwo im Code-Archiv geistert eine Implementation des md5-algorhytmus rum. Wenn du das ganze mit einem Salt versiehst, ist es Sicher genug. Zum Thema Sicherheit und MD5: 2004 wurden kollisionen in MD5 gefunden, das bedeutet lediglich, dass es wissenschaftler geschaft haben, aus einem String einen anderen String mit dem gleichen Hash-Wert zu errechnen. Das sollte für die Meisten anwendungsgebiete vollkommen irrelevant sein. Grüße, Smily |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Lesen was cih geschrieben hab:
CGamer hat Folgendes geschrieben: Es ist eigentlich für MySQl gedacht, da es bei der passwort übergabe SHA-1 verwendet(mit hash?!?)
2. Nachdenken 3. ??? 4. Profit meine fragen sind nun also: hat jemand einen fertig konvertierten code da? wie realisiere ich den SaltHash? XOR? was bedeutet geslized? ich besitze kein bmax und kenne mich nur in c++ gering aus |
||
Warbseite |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
schaue mal auf mapeditor.de.vu im BB source, wird dort auch viel von SHA-1 geschrieben.
Glaube TS hat ihn da benutzt. |
||
between angels and insects |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, ist drin.
Für alle suchfaulen: https://www.blitzforum.de/uplo...?show=1403 |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke. Das war was ich gesucht habe.
*EDIT* Habe ese nun hinbekommen. SHA-1 und XOR für das Passwort funzt |
||
Warbseite |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
zum Thema slicen:
Nehmen wir an Du hast ein Array: a[100] Dann geht es von a[0] bis a[99] Wenn Du nun a[10..29] machst, wird eine Scheibe rausgeschnitten und zurückgegeben, nämlich der Bereich von a[10] bis a[28]. Daher auch 'slicen'. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group