Just nu i M3-nätverket
Gå till innehåll

tonlof

Medlem
  • Antal inlägg

    47
  • Gick med

  • Senaste besök

  • Vunnit antal dagar

    1

tonlof vann dagen: 10 augusti 2013

tonlof hade det mest gillade innehållet!

Om tonlof

  • Medlemstitel
    Användare
  • Födelsedag 1978-10-10

Profil

  • Kön
    Vill inte avslöja
  • Ort
    Sverige

Senaste profilbesöken

Blocket med senaste besökare är inaktiverat och visas inte för andra besökare.

  1. tonlof

    Radera innehåll från lista fungerar inte

    Nu har jag det mesta löst men behöver kunna flytta en post upp eller ner i listan. Någon form av index swap. T.ex om index 2 ska flyttas ett steg ner ska index 3 byta plats med 2 osv. Antar att det går att göra detta på ett relativt enkelt sätt i stället för massa kod med loopar? Uppdatering. Löste det så här. I detta fall flyttas elementet upp ett steg från index. Vid element ner gör jag åt andra hållet. Ser ut att fungera bra, koden kan säkert förenklas och göras bättre. Dim selected = details.ElementAt(index) details.RemoveAt(index) details.Insert(index-1, New eventAction() With { .id = selected.id, .command = selected.command, .serial= selected.serial, .par1 = selected.par1, .par2 = selected.par2 })
  2. tonlof

    Radera innehåll från lista fungerar inte

    Tack så jättemycket, underlättar otroligt mycket.
  3. tonlof

    Radera innehåll från lista fungerar inte

    Tackar, kommer från gamla vb6. Har kodat i vb.net ett tag men har extremt mycket kvar att lära så det kanske inte är dumt att börja om från början med c# heller eftersom dom flesta exemplen är med C# Din override funktion med id fungerade perfekt men har dock inte löst det ännu med hur jag kan ha samma funktion för .serial och samtidigt behålla .id för. Behöver även kunna sortera efter t.ex .id eller .serial. Ska titta igenom länken på c# exemplen.
  4. tonlof

    Radera innehåll från lista fungerar inte

    Supertack, hade jag aldrig kunnat listat ut själv.
  5. Hej, jag får inte remove att fungera.. Jag kan radera om jag vet index men jag vill kunna radera hela posten baserat på t.ex id nummer eller serial. Tänker jag fel med details.Remove(New eventAction() With {.id = 1}) Får inga felmeddelanden. details.contains(New evenntAction() With {.id = 1}) ger false så det fungerar inte heller att se om id 1 finns. Public Class eventAction Public Property id() As Integer Get Return m_id End Get Set m_id = Value End Set End Property Private m_id As Integer Public Property serial() As Integer Get Return m_serial End Get Set m_serial = Value End Set End Property Private m_serial As Integer Public Property command() As String Get Return m_command End Get Set m_command = Value End Set End Property Private m_command As String Public Property par1() As String Get Return m_par1 End Get Set m_par1 = Value End Set End Property Private m_par1 As String Public Property par2() As String Get Return m_par2 End Get Set m_par2 = Value End Set End Property Private m_par2 As String End Class Dim details As New List(Of eventAction)() details.Add(New eventAction() With { .id = 1, .command = "TEST1", .serial = 123456789, .par1 = "par1", .par2 = "par2" }) details.Add(New eventAction() With { .id = 2, .command = "TEST2", .serial = 987654321, .par1 = "par1", .par2 = "par2" }) details.Remove(New eventAction() With {.id = 1})
  6. Hej, finns det någon duktig vänlig själ varför encryptCryptoJSAESString funtionen inte returnerar en krypterad sträng? Jag har fått det att fungera om jag genererar en aes krypterad string från javascript och decrypterar den i DecryptCryptoJSAESString men jag vill även ha den omvända funktionen att skapa en aes sträng i vb.net och sedan decryptera den i javascript. Eller om någon har något tips på att göra detta på annat sätt. Koden nedan hittade jag för ett bra tag på google men tyvärr kommer jag inte ihåg källan och det fanns ingen copyrighttext eller ägare för koden angiven som jag kan hitta så har jag gjort ett övertramp med att lägga ut den här ber jag ursäkt samtidigt som admin får ta bort inlägget. Tack på förhand. Dim str1 As String = encryption.encryptCryptoJSAESString("test", "abcde") Dim str2 As String = encryption.DecryptCryptoJSAESString(str1, "abcde") MsgBox(str1 & vbNewLine & str2) Imports System.IO Imports System.Security.Cryptography Imports System.Text Public Class encryption Public Shared Function GetRandomString() As String Return Path.GetRandomFileName().Replace(".", "") End Function Public Shared Function DecryptCryptoJSAESString(openSSLCompatibleString As String, passphrase As String) As String If [String].IsNullOrEmpty(openSSLCompatibleString) OrElse [String].IsNullOrEmpty(passphrase) Then Throw New ArgumentNullException("FatalError: arguments cannot be empty!") End If Dim plainText As String = Nothing Try Using rijAlg As New RijndaelManaged() rijAlg.Mode = CipherMode.CBC rijAlg.Padding = PaddingMode.PKCS7 Dim cryptedString As Byte() = parseOpenSSLString(openSSLCompatibleString, passphrase, rijAlg) Dim decryptor As ICryptoTransform = rijAlg.CreateDecryptor() Using msDecrypt As New MemoryStream(cryptedString) Using csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read) Using srDecrypt As New StreamReader(csDecrypt) plainText = srDecrypt.ReadToEnd() End Using End Using End Using End Using Catch generatedExceptionName As Exception End Try Return plainText End Function Private Shared Function parseOpenSSLString(base64EncodedString As String, passphrase As String, algo As SymmetricAlgorithm) As Byte() Const ITERATION_COUNT As Integer = 1 Using openSSLStream As New MemoryStream(Convert.FromBase64String(base64EncodedString)) Using reader As New BinaryReader(openSSLStream) Dim markWord1 = reader.ReadBytes(4) Dim markWord2 = reader.ReadBytes(4) If BitConverter.IsLittleEndian Then Array.Reverse(markWord1) Array.Reverse(markWord2) End If If BitConverter.ToInt32(markWord1, 0) = &H53616C74 AndAlso BitConverter.ToInt32(markWord2, 0) = &H65645F5F Then Dim salt As Byte() = reader.ReadBytes(8), key As Byte(), iv As Byte() openSSLAES256DeriveKeyAndIV(Encoding.ASCII.GetBytes(passphrase), salt, ITERATION_COUNT, key, iv) algo.Key = key algo.IV = iv Return reader.ReadBytes(CInt(openSSLStream.Length) - 16) End If End Using End Using Return Nothing End Function Private Shared Sub openSSLAES256DeriveKeyAndIV(data As Byte(), salt As Byte(), count As Integer, ByRef key As Byte(), ByRef iv As Byte()) Dim hashList As New List(Of Byte)() Dim currentHash As Byte() = New Byte(-1) {} Dim preHashLength As Integer = data.Length + (If((salt IsNot Nothing), salt.Length, 0)) Dim preHash As Byte() = New Byte(preHashLength - 1) {} System.Buffer.BlockCopy(data, 0, preHash, 0, data.Length) If salt IsNot Nothing Then System.Buffer.BlockCopy(salt, 0, preHash, data.Length, salt.Length) End If Using hash As MD5 = MD5.Create() currentHash = hash.ComputeHash(preHash) For i As Integer = 1 To count - 1 currentHash = hash.ComputeHash(currentHash) Next hashList.AddRange(currentHash) While hashList.Count < 48 ' for 32-byte key and 16-byte iv preHashLength = currentHash.Length + data.Length + (If((salt IsNot Nothing), salt.Length, 0)) preHash = New Byte(preHashLength - 1) {} System.Buffer.BlockCopy(currentHash, 0, preHash, 0, currentHash.Length) System.Buffer.BlockCopy(data, 0, preHash, currentHash.Length, data.Length) If salt IsNot Nothing Then System.Buffer.BlockCopy(salt, 0, preHash, currentHash.Length + data.Length, salt.Length) End If currentHash = hash.ComputeHash(preHash) For i As Integer = 1 To count - 1 currentHash = hash.ComputeHash(currentHash) Next hashList.AddRange(currentHash) End While End Using key = New Byte(31) {} iv = New Byte(15) {} hashList.CopyTo(0, key, 0, 32) hashList.CopyTo(32, iv, 0, 16) End Sub '------------------------------------------ Public Shared Function encryptCryptoJSAESString(openSSLCompatibleString As String, passphrase As String) As String If [String].IsNullOrEmpty(openSSLCompatibleString) OrElse [String].IsNullOrEmpty(passphrase) Then Throw New ArgumentNullException("FatalError: arguments cannot be empty!") End If Dim plainText As String = Nothing Try Using rijAlg As New RijndaelManaged() rijAlg.Mode = CipherMode.CBC rijAlg.Padding = PaddingMode.PKCS7 Dim f As New StringBuilder For Each j In rijAlg.LegalBlockSizes f.Append(j.ToString) Next Dim cryptedString As Byte() = joinOpenSSLString(openSSLCompatibleString, passphrase, rijAlg) Dim encryptor As ICryptoTransform = rijAlg.CreateEncryptor() Using msencrypt As New MemoryStream(cryptedString) Using csencrypt As New CryptoStream(msencrypt, encryptor, CryptoStreamMode.Read) Using srencrypt As New StreamReader(csencrypt) plainText = srencrypt.ReadToEnd() End Using End Using End Using End Using Catch generatedExceptionName As Exception Console.WriteLine(generatedExceptionName.Message) End Try Return plainText End Function Private Shared Function joinOpenSSLString(byteEncodedString As String, passphrase As String, algo As SymmetricAlgorithm) As Byte() Const ITERATION_COUNT As Integer = 1 Dim plaintextBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(byteEncodedString) Using openSSLStream As New MemoryStream(plaintextBytes) Using reader As New BinaryReader(openSSLStream) Dim markWord1 = reader.ReadBytes(4) Dim markWord2 = reader.ReadBytes(4) If BitConverter.IsLittleEndian Then Array.Reverse(markWord1) Array.Reverse(markWord2) End If If BitConverter.ToInt32(markWord1, 0) = &H53616C74 AndAlso BitConverter.ToInt32(markWord2, 0) = &H65645F5F Then Dim salt As Byte() = reader.ReadBytes(8), key As Byte(), iv As Byte() openSSLAES256DeriveKeyAndIV(Encoding.ASCII.GetBytes(passphrase), salt, ITERATION_COUNT, key, iv) algo.Key = key algo.IV = iv Return Convert.FromBase64String(Int(openSSLStream.Length - 16)) End If End Using End Using Return Nothing End Function End Class
  7. Tackar, men trodde att mitt försök till regex skulle fungera men tänker väl fel <td>Unique ID:<\/td>[\s\S]<td>*?<\/td>
  8. Tack för snabbt svar, ovan ger mig Unique ID:</td> <td>A9X5CR013246 Skriver i vb.net men jag är inte säker på att regex är det bästa men trodde nog det.
  9. Behöver hjälp med att läsa ut bland annat Unique ID med regex dvs resultatet ska bli A9X5CR013246 från nedan html. Detta har jag provat: <td>Unique ID:<\/td>[\s\S]<td>*?<\/td> Tack på förhand. <div class="content clearfix"> <div class="tableBox"> <table> <tr > <td>Time:</td> <td>2016-10-06 13:35:16 CEST <a href="settime.html">(set)</a></td> </tr> <tr class="even"> <td>Name:</td> <td>Demo Unit</td> </tr> <tr > <td>Description:</td> <td>A9X5CR013246</td> </tr> <tr class="even"> <td>Model:</td> <td>GD032</td> </tr> <tr > <td>Unique ID:</td> <td>A9X5CR013246</td> </tr> <tr class="even"> <td>Ethernet IP:</td> <td>192.168.2.253</td> </tr> <tr > <td>Ethernet MAC:</td> <td>90:xx:xx:xx:xx:xx</td> </tr> <tr class="even"> <td>Boot Version:</td> <td>9.4.10</td> </tr> <tr > <td>Firmware Version:</td> <td>7.6.12</td> </tr> <tr class="even"> <td>Video Mode:</td> <td>1920x1080x60p</td> </tr> <tr > <td>Uptime:</td> <td>1 hours 30 minutes</td> </tr> <tr class="even"> <td>PoE:</td> <td>Inactive</td> </tr> <tr > <td>Extensions:</td> <td></td> </tr> </table> </div> </div>
  10. Jag tror jag löste det. delete from queue where ((JulianDay(datetime('now')) - JulianDay(timestamp)) * 24 * 60 * 60) > timetolive
  11. Hej, försöker radera rader baserat på en inbäddad select. SQLite databasen är uppbyggd enlig nedan. id, timestamp, data, timetolive 1, 2016-03-05 11:40:15, datatext1, 3600 2, 2016-03-05 11:40:23, datatext2, 1 3, 2016-03-05 11:40:33, datatext3, 10 timetolive är antal sekunder raden ska få överleva. delete from queue where (SELECT ((JulianDay(datetime('now')) - JulianDay(timestamp)) * 24 * 60 * 60) > timetolive from queue) > 0 Enbart select ger mig en etta eller nolla beroende på om timetolive har uppnåtts baserat på aktuell tid. Så långt är det okay. SELECT ((JulianDay(datetime('now')) - JulianDay(timestamp)) * 24 * 60 * 60) > timetolive from queue Problemet är alltså hur jag sätter ihop dessa så att om select-satsen ger en etta så ska aktuell rad raderas. Stort tack på förhand.
  12. tonlof

    Netcam Studio Web API

    Hej, jag försökter förstå hur man deklarerar nedan api till VB.net Express 2013 http://www.netcamstudio.com/WebAPI/#Moonware.Server.WCF~Moonware.Server.WCF.MoonwareServerWCF~GetEventLogs.html Vad behöver jag lägga till som referens och namespace? Har lagt till: Imports Moonware Imports Moonware.Server Imports Moonware.Core Imports Moonware.Service Tacksam för all hjälp.
  13. Hej, jag försöker läsa ut hashrate under workers från en json sträng. Dom första värdeposterna är inga problem att läsa ut men när jag ska ner på multi array nivå vet jag inte hur jag ska gå vidare. Dim json As String = str_grab Dim ser As JObject = JObject.Parse(json_content_string) Dim data As List(Of JToken) = ser.Children().ToList Dim output As String = "" Dim confirmed_rewards As String = "" Dim estimate As String = "" Dim total_hashrate As String = "" Dim payout_history As String = "" Dim round_shares As String = "" Dim workers As String = "" For Each item As JProperty In data item.CreateReader() Select Case item.Name Case "confirmed_rewards" confirmed_rewards = Val(item.Value) Case "round_estimate" estimate = Val(item.Value) Case "total_hashrate" total_hashrate = Val(item.Value) Case "payout_history" payout_history = Val(item.Value) Case "round_shares" round_shares = Val(item.Value) Case "workers" ' Debug.Print(item.Value.ToString) ' workers = item.Value.ToString End Select Next { "username": "My_Username", "confirmed_rewards": 0.4864629, "round_estimate": "0.0067822", "total_hashrate": "1066", "payout_history": "0", "round_shares": "542", "workers": { "My_Username.1": { "alive": "1", "hashrate": "855", "last_share_timestamp": "1385372670", "username": "My_Username.1" }, "My_Username.1": { "alive": "1", "hashrate": "211", "last_share_timestamp": "1385372701", "username": "My_Username.2" } } }
  14. Detta fungerade bättre. #!/bin/bash useradd $1 -m -s /bin/false echo "$1:$2" | chpasswd usermod -G ftpgroup -a $1 chmod -R g+w /home/$1 chown www-data:ftpgroup -R /home/$1
  15. Tänkte göra det lite enklare för mig varje gång jag behöver lägga upp en ny ftp användare. Har skapat en fil skapa_anvandare.sh som jag tänkte anropa med parametrar men jag missar nog något att det kanske inte går att köra shellkomandon i ett shellscript? #!/bin/bash mkdir /home/$1 useradd $1 -p -d /home/$1 -s /bin/false echo "$1:$2" | chpasswd usermod -G ftpgroup -a $1 chmod -R g+w /home/$1 chown www-data:ftpgroup -R /home/$1 ... ... Tips och ideer mottages varmt.
×